重置表单,但一个特定字段除外
我想清除表单form1
而不清除文本框textbox1
。 但是以下不起作用:
$('#form1').not("input[type=text]#textbox1").trigger('reset');
除了textbox1
之外,我可以为每个字段执行.html('')
,但我不想这样做,因为表单中会添加更多字段,因此manitaninability不好。
不幸的是, reset
事件发生在form
并影响其中的所有表单相关元素。 要实现您的需求,您可以选择所有必需的表单元素并手动设置其值,例如:
$('#form1').find('input, select, textarea').not("#textbox1").val('');
上面的元素选择器应该足够通用,以满足动态添加到表单的其他字段
您可以先将#textbox1
上的值保存在变量中,然后正常重置表单,然后将保存的值分配给#textbox1
。 这节省了选择每种输入类型并单独重置的麻烦。
var value1 = $("input#textbox1").val(); $('#form1').trigger('reset'); $("input#textbox1").val( value1 );