我有一个页面,我将删除图标附加到某些表单文本字段:
$(this).parent().append(\'<span class="remove" onclick="$(this).parent().remove(); return false"><span class="delete"></span></span>\');
我得到了
<div>
<input type="text"><span class="remove" onclick="$(this).parent().remove(); return false"><span class="delete"></span></span>
</div>
它工作正常,但是当我提交表单时,我“删除”的字段仍然发布信息。我认为他们仍然在DOM,只是不显示。但是,如果我手动清除输入字段然后提交 - 显然没有发布数据。如何在remove()之前清空文本字段?
答案 0 :(得分:0)
通常,您会将setting their values的输入清空为空字符串:
$('input:text').val('')
答案 1 :(得分:0)
当表单提交某个请求时,只会发送设置了“name”属性的输入。
因此,如果您执行$(this).before().removeAttr('name'); $(this).parent().remove();
,则不会发送输入内容..
但是,如果输入是表单子项,当它通过jQuery.remove删除时,它不会在将来的表单请求中发送,如此jsFiddle显示
答案 2 :(得分:0)
而不是.val()
使用.attr('value', '')
并将字段设为已禁用以阻止在该字段上提交任何内容。试试这个:
$(this).parent().find('input:text').attr({value: '', disabled : true}).remove();