javascript怎么处理字符串转换为对象的问题?
想做一个点击按钮增加一个文本框和下拉列表框,并且下拉列表里面可以选择选项并填充到前面的文本框当中,遇到一个字符串和对象的转换问题,问题发生在以下docheck()函数里面...
想做一个点击按钮增加一个文本框和下拉列表框,并且下拉列表里面可以选择选项并填充到前面的文本框当中,遇到一个字符串和对象的转换问题,问题发生在以下docheck()函数里面。求解!
<SCRIPT LANGUAGE="JavaScript">
<!--
i=1;
function doAppend() {
i=i+1;
document.getElementById("b1").innerHTML += "<br><input type='text' name='a"+i+"'>";
document.getElementById("b1").innerHTML += "<select name='c"+i+"' onChange='docheck();'><option>请选择记录</option><option>第一个记录</option><option>第二个记录</option><option>第三个记录</option><option>第四个记录</option></select>";
}
function docheck(){
document.a."a"+i.value=document.a."c"+i.options[document.a."c"+i.selectedIndex].value;
}
//-->
</SCRIPT>
<form name="a" action="#" method="post">
<table>
<tr><td id="b1"><input type="text" name="a1" ><select name="c1" onChange="javascript:document.a.a1.value=document.a.c1.options[document.a.c1.selectedIndex].value;">
<option >请选择记录</option>
<option value="第一个记录">第一个记录</option>
<option value="第二个记录">第二个记录</option>
<option value="第三个记录">第三个记录</option>
<option value="第四个记录">第四个记录</option>
</select></td></tr>
</table>
<input type="button" value="继续添加记录" onclick="doAppend();">
<input type="submit" value="提交记录">
</form> 展开
<SCRIPT LANGUAGE="JavaScript">
<!--
i=1;
function doAppend() {
i=i+1;
document.getElementById("b1").innerHTML += "<br><input type='text' name='a"+i+"'>";
document.getElementById("b1").innerHTML += "<select name='c"+i+"' onChange='docheck();'><option>请选择记录</option><option>第一个记录</option><option>第二个记录</option><option>第三个记录</option><option>第四个记录</option></select>";
}
function docheck(){
document.a."a"+i.value=document.a."c"+i.options[document.a."c"+i.selectedIndex].value;
}
//-->
</SCRIPT>
<form name="a" action="#" method="post">
<table>
<tr><td id="b1"><input type="text" name="a1" ><select name="c1" onChange="javascript:document.a.a1.value=document.a.c1.options[document.a.c1.selectedIndex].value;">
<option >请选择记录</option>
<option value="第一个记录">第一个记录</option>
<option value="第二个记录">第二个记录</option>
<option value="第三个记录">第三个记录</option>
<option value="第四个记录">第四个记录</option>
</select></td></tr>
</table>
<input type="button" value="继续添加记录" onclick="doAppend();">
<input type="submit" value="提交记录">
</form> 展开
展开全部
javascript有一个很有用的函数eval("string")
这个函数可以把字符串转换为对象或者可以执行的语句,例如你的代码可以用
obj2=eval("document.a.c"+i),另外你还可以这样写eval("alert()"),
eval("a+=2"),这样你就可以让用户输入的javascript语句执行
你的docheck()如此改即可:
function docheck(){
obj1=eval("document.a.a"+i)
obj2=eval("document.a.c"+i)
obj1.value=obj2.options[obj2.selectedIndex].value;
}
这个函数可以把字符串转换为对象或者可以执行的语句,例如你的代码可以用
obj2=eval("document.a.c"+i),另外你还可以这样写eval("alert()"),
eval("a+=2"),这样你就可以让用户输入的javascript语句执行
你的docheck()如此改即可:
function docheck(){
obj1=eval("document.a.a"+i)
obj2=eval("document.a.c"+i)
obj1.value=obj2.options[obj2.selectedIndex].value;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询