【发布时间】:2026-02-04 05:35:01
【问题描述】:
我正在尝试使用以下方法重置表单:
myForm.reset();
我试图以这种方式设置值:
//solved by setting $('#myTextControl').attr('defaultValue', 'my initial value');
//Thanks RobG
$('#myTextControl').val('my value');
$('#myTextControl').attr('value', 'my value');
//solved by setting $('#myTextControl').attr('defaultChecked', false or true); initially
$('#myCheckboxControl')attr('checked', 'checked');
//Finally it works with radios too, as shown here -> http://jsfiddle.net/4VAkp/2/
$('#myRadioControl')attr('checked', 'checked');
更新值的方式很重要,如您在此处所见 -> http://jsfiddle.net/4VAkp/3/ 使用 attr 更新值会将值固定为默认值: 错误
radio2.attr('checked', true);
text2.attr('value', 'my text2');
这不会将值设置为默认值(如预期的那样): 正确
radio.prop('checked', true);
text.val('my text');
当值由用户设置时,这可以正常工作,但如果以编程方式设置值则不起作用。
如果我先以编程方式设置一个值,然后通过 ui 并最终重置它,它会回到以编程方式设置的 on。
我怀疑应该有一种方法可以在不更改默认值的情况下以编程方式设置值。
有什么想法吗?
提前致谢,
埃里克
【问题讨论】:
-
您如何以编程方式设置值?请提供代码示例。
-
添加您的示例代码以获得更多说明。
标签: javascript jquery forms reset