【发布时间】:2012-11-25 02:22:50
【问题描述】:
我正在使用 $('form-selector').get(0).reset() 将表单值重置为其原始页面加载状态。
编辑后,表单将通过$.ajax() 提交,我将在我们的服务器上拥有新的“默认”值。表单元素仍会存在于 dom 中,用户可以再次提交更新。我想要“默认”(重置值)来反映我们服务器上的内容(忽略任何其他外部更新)。 是否可以更新基础值 form.reset() 将每个表单元素更改为无需刷新页面?
跨浏览器支持会很好,但由于这是一个内部应用程序,只有谷歌浏览器就足够了。
HTML
<form>
<input type="text" value="foo" name="bar" />
<input type="submit" value="Submit" />
<Input type="reset" value="Reset" />
</form>
JAVASCRIPT
$(function(){
$('form').submit(function() {
// Omitting code that sends form values to the server
// TODO: update underlying form.reset()
// values to what's currently in each
// form element.
return false;
});
});
更新
确认!我没有提到我正在寻找可以处理所有表单元素类型的东西。
即input[type=text], input[type=radio], input[type=checkbox], select, textarea。
如果它也能处理 HTML5 表单元素,那就太棒了...
即input[type=date], input[type=number], input[email], input[url], input[type=range], input[type=color]等
很抱歉给您带来了困惑。
【问题讨论】:
-
简短回答,没有。如果您仍打算使用本机重置功能,并且需要在页面刷新并再次构建表单时使用更新的值,请不要使用 ajax。
标签: javascript jquery html forms reset