我正在使用此功能在访问者刷新页面时重置表单:
$(document).ready(function () {
resetForms();
});
function resetForms() {
document.getElementById('configurator-form').reset();
}
输入是收音机,选择,文字。我需要从重置中排除一个输入(div class =“snap”)。我怎么能这样做?
我可以使用:
.not('.snap input')
某处?我想这样做我需要针对输入而不是整个形式?字段有默认值,所以我不认为我想使用'removeAttr',虽然我可能错了?
修改的
我知道它与另一个问题相似,但我无法得到公认的答案。建议采用表单值,然后重置表单,然后将值放回表单中。我试过这个:
$(window).load(function() {
var snap = $(".snap input").val();
resetForms();
$(".snap input").val(snap);
});
function resetForms() {
document.getElementById('configurator-form').reset();
}
...但它还没有恢复“.snap input”字段的值。值得注意的是,snap字段具有随机名称和ID,因此我不能使用getElementById作为示例。感谢您的耐心等待,因为您可能会说我是JQuery的新手。
编辑2
好的,resetForms抛出错误“未定义”。这个版本似乎完美无缺:
$(document).ready(function(){
var snap = $(".snap").html();
$('#configurator-form')[0].reset();
$(".snap").html(snap);
});
答案 0 :(得分:0)
你的方法应该有效。
你唯一的错误是选择器,
你的JS应该是这样的: (没有选择器中的空白区域)
function resetForms() {
var value = $("input.snap").val();
document.getElementById('configurator-form').reset();
$("input.snap").val(value);
}