【发布时间】:2012-07-19 22:40:11
【问题描述】:
编辑:我简化了使用文本输入的示例。同样的错误。从表单中删除输入时,表单无法提交。 编辑:在 Firefox 14 中重复。Chrome 没有相同的行为。
我有一个带有 jquery 的多文件上传表单,可以在表单中添加和删除文件输入元素。如果我删除其中一个输入,则 form.submit() 函数不会继续。下面是使用“文本”输入的简化代码。还有http://jsfiddle.net/carbontax/rMMuE/的小提琴
<form id="form-foo" method="POST">
<div id="input-container-container">
</div>
</form>
<input type="button" id="add-text-input" value="ADD TEXT INPUT">
<input type="button" id="submit" value="SUBMIT">
脚本
$('#submit').click(function() {
$('#form-foo').submit();
});
$("#add-text-input").click(function() {
var div = $('<div/>', {
'class': 'input-container'
}).append($('<button/>', {
'class': 'delete-text-input',
html: "X"
}));
var input = $('<input/>', {
type: 'text',
name: 'texts',
'class': 'input-text'
}).appendTo(div);
div.appendTo($('#input-container-container'));
});
$('#form-foo').on('click', 'button.delete-text-input', function(e) {
e.preventDefault();
$(this).closest('div').remove();
});
【问题讨论】:
-
你检查 JS 错误了吗?如果您要从表单中删除元素,但没有删除任何专门处理这些元素的 JS 代码,那么您最终可能会遇到一堆错误。
-
没有错误。根据 jquery 文档。 $.remove() 从 DOM 中删除所有处理程序以及 HTML。
标签: javascript jquery file-upload