从表单中删除添加的元素不起作用

时间:2012-05-11 14:31:50

标签: javascript forms

我正在尝试从页面中完全删除一个元素(我动态添加),但它似乎不能正常工作。问题是,在我从页面中删除一个元素之后,它仍然出现在document.forms中 - 这导致了一个问题,因为页面在处理其他一些数据时会自动抓取它。我无法更改下游操作,但我想知道是否有更好的方法来删除输入。有关示例,请参阅此jsFiddle

Chrome 11和FF 13的工作方式相同(损坏),而IE 9正常工作,但我需要它在所有浏览器中工作 - 在怪癖模式下。

2 个答案:

答案 0 :(得分:3)

我会使用document.getElementById代替document.forms

http://jsfiddle.net/wTNFq/6/

var testfield = document.getElementById('testfield');

console.log('VALUE before: ' + testfield .value);

document.getElementById('wrapper').removeChild(testfield);

console.log('VALUE after: ' + document.getElementById('testfield').value);

编辑:根据w3c document.forms[0].fieldname equivalent的接受答案,您的问题可能与在name元素上使用input属性有关。

答案 1 :(得分:0)

在您的示例中,您遗漏了jQuery选择器中的所有#标记。当您按照ID来选择元素时,您必须始终在名称前添加#,并且对于类包含.,例如$('#wrapper')

我在这里修改了你的例子 - > jsFiddle执行以下操作

$('#wrapper #testField').remove();

希望这有帮助