在删除w / jQuery之前清空输入字段

时间:2012-03-07 17:39:38

标签: jquery

我有一个页面,我将删除图标附加到某些表单文本字段:

$(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()之前清空文本字段?

3 个答案:

答案 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();