javascript表单问题,拜托了老大们不是广告啊

来源:百度知道 编辑:UC知道 时间:2024/07/03 04:48:02
表单定义如下
<form method="post" action="test2.php">
<table id="ok" width="120">
<tr>
<td width="100"><input type="text" name="ip[]" onclick="addx(this)" width="100" /></td>
</tr>
<tr><td><input type="submit" value="ok" /></td></tr>
</table>
</form>

如果addx()函数中创建了新元素
function addx(obj){
ip=document.createElement("input");
ip.onclick=addx(); 此处标记A
}

A中标记的ip元素是函数新建的一个input元素,ip中一个属性要求调用创建它的函数,并且参数为新建的元素本身(即this)
请问怎么做到
我现在需要新建的
onclick的属性addx有一个参数,这个参数就是this,这个this指向新建的那个input
其效果应该是这样
<input type="text" name="ip[]" onclick="addx(this)" width="100" />
onclick="addx(this)"

function addx(obj){
var ip=document.createElement("input");
ip.onclick=function(){ //闭包最简单
addx(ip);
}
}

这么写就没问题了,代码如下:

function addx(obj){
var htmlArr = new Array();
htmlArr.push("<input type=\"text\" name=\"ip[]\" onclick=\"addx(this)\" width=\"100\" />");
document.body.insertAdjacentHTML("afterBegin",htmlArr.join(''));
}