我正在尝试使用 javascript 添加下面找到的完全相同的元素。我已经尝试了这里找到的所有解决方案,我什至尝试用php echo
但没有运气。无需更改任何输入名称或类似内容,只需单击该按钮即可向表中添加另一行,仅此而已。
这是该元素:
<tr>
<td><input type="text" name="links"></td>
<td><input type="text" name="keywords"></td>
<td><input type="text" name="violationtype"></td>
<td><input type="submit" id="last" class="button" value="Add another line" onclick:"addField();"></td>
</tr>
我确实愿意做任何事情,但是,我想要 javascript,因为我保持我的系统没有任何外部引用(例如 jquery),但此时我愿意接受任何建议。我尝试使用以下代码执行此操作:
function addFields() {
var number = document.getElementById("last").value;
var html = '<tr>' +
'<td><input type="text" name="links"></td>' +
'<td><input type="text" name="keywords"></td>' +
'<td><input type="text" name="violationtype"></td>' +
'<td><input type="submit" id="last" class="button" value="Add another line" name="line" onclick:"addField();"></td>';
number.appendChild(html);
}
但它似乎没有做任何事情。我认为我应该以比以下更好的方式处理代码,知道哪个输入是最后一个id="last"
但我不知道该怎么做。
您可以使用以下方法实现同样的效果
HTML:
<table id="tbl">
<tr>
<td><input type="text" name="links" /></td>
<td><input type="text" name="keywords" /></td>
<td><input type="text" name="violationtype" /></td>
<td><input type="submit" class="button" value="Add another line" onclick="addField(this);" /></td>
</tr>
</table>
JS:
function addField(n)
{
var tr = n.parentNode.parentNode.cloneNode(true);
document.getElementById('tbl').appendChild(tr);
}
另外,删除id
from input
,因为一个ID
必须是唯一的,并记住您对所有输入使用相同的名称,因此,名称应命名为links[]
, keywords[]
and violationtype[]
将它们用作数组,但不确定您的情况是什么。
一个例子. http://jsfiddle.net/99CL3/1/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)