javascript - 重置表单模型值
问题描述
我有一个带有许多文本框的 asp.net 核心表单。我想添加一个取消按钮,以便用户可以将表单恢复为其原始模型值。
我需要避免回发。
我正在使用 jquery 来隐藏显示编辑保存取消按钮。
$('.edit').click(function() {
$(this).hide();
$(this).siblings('.save, .cancel').show();
});
$('.cancel').click(function() {
$(this).siblings('.edit').show();
$(this).siblings('.save').hide();
$(this).hide();
});
$('.save').click(function() {
$(this).siblings('.edit').show();
$(this).siblings('.cancel').hide();
$(this).hide();
});
如何安装取消按钮以将表单重置为模型值:
就像是:
$('.save').click(function() {
$(this).siblings('.edit').show();
$(this).siblings('.cancel').hide();
$(this).hide();
var $form = this.closest('form');
$form.resetForm();
});
解决方案
您可以Javascript
通过执行以下操作将整个服务器端模型转换为对象:
<script>
function resetToDefault(){
var model = @Html.Raw(Json.Encode(Model));
for (var prop in model) {
var controlId = prop;
var value = model[prop];
$('.' + controlid).val(value);
}
}
</script>
但是,如果您想清除表单,请尝试这样:
$("#idForm").reset();
推荐阅读
- python-3.x - 弹性搜索无效版本格式类型和非法参数异常
- angular - Snackbar 未在 Angular 应用程序中打开
- android - 在Splashscreen Activity里面我实现了界面。如何将接口的数据发送到 Kotlin 中的多个 Activity?
- sql-server - 如果在另一个表中用作参考,则禁用表中的编辑记录
- sql-server-2017 - 对 ole db 提供程序“microsoft.ace.oledb.12.0”的临时访问已被拒绝。您必须通过链接服务器访问此提供程序
- c++ - 转发参考错误时终端进程终止
- php - 如何在不刷新页面的情况下将产品添加到购物车
- r - 在这种情况下,我的 ggplot2 代码中 y 的 geom_text 美学应该是什么?
- python - Django Formset添加两行而不是具有相同输入ID的一行
- javascript - 如何检查该对象不允许为空?