首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

onchange事件的回调函数怎么传递参数

2012-03-09 
onchange事件的回调函数如何传递参数JScript codefunction init(para1,para2){alert(aaa)var selectarr

onchange事件的回调函数如何传递参数

JScript code
function init(para1,para2){   alert("aaa");   var selectarr = document.getElementsByTagName("select");   for (var i=0; i < selectarr.length;i++){    var nm = selectarr[i].name;    if (selectarr[i].options.length == 0) {        selectarr[i].outerHTML="<input type='text' class='form1' name= '" + nm + "'  >";        document.getElementsByName(nm)[0].onchange=new Function("changeCard("+para1+","+para2+")");    }   }}                function changeCard(para1,para2){    alert(para1.value)    alert(para2.value)}

其中init的参数是两个对象(document里的元素),我在传到changeCard的时候,总是报错:'object'未定义,请帮忙,谢谢!

[解决办法]
document.getElementsByName(nm)[0].onchange=new Function("changeCard('"+para1+"','"+para2+"')");

[解决办法]
JScript code
<script type="text/javascript">function init(para1,para2){    var selectarr = document.getElementsByTagName("select"), f = function () {        changeCard(para1, para2);    }, i = 0, nm;    for (; i < selectarr.length ; i ++) {        nm = selectarr[i].name, obj = selectarr[i];        if (obj.options.length == 0) {            obj.outerHTML = "<input type='text' class='form1' name= '" + nm + "'>";            document.getElementsByName(nm)[0].onchange = f;        }    }}                function changeCard(para1,para2){    alert(para1.value)    alert(para2.value)}window.onload = function () {    var i = document.getElementsByTagName("input");    init(i[0], i[1]);};</script><select name="se"></select><input value="a" /><input value="b" /> 

热点排行