javascript程序编辑实体而不是添加
在我的jsp中有一个模式窗口。我同时使用它:添加或编辑我的项目。它根据“id”决定要做什么:如果“id”为null,则添加,如果不为null,则编辑
<div class="modal fade" id="editRow">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h2 class="modal-title" id="modalTitle"></h2>
</div>
<div class="modal-body">
<form class="form-horizontal" id="detailsForm">
<input type="hidden" id="id" name="id">
...
<div class="form-group">
<div class="col-xs-offset-3 col-xs-9">
<button class="btn btn-primary" type="button" onclick="save()">
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
</button>
</div>
</div>
</form>
一般来说,它工作正常,但有一种情况不起作用:
- 我打开某些项目的“编辑”窗口
- 不保存,只需关闭“编辑”窗口
- 打开“添加”窗口,输入一些数据
- 保存后,请从1)编辑项目,而不是添加新项目
这个jsp上有一个按钮,我按下它调用“添加”窗口:
<a class="btn btn-info" onclick="add('<spring:message code="meals.add"/>')">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
</a>
此按钮有“添加”js功能:
var form;
...
form = $('#detailsForm');
...
function add(title) {
$('#modalTitle').html(title);
form[0].reset();
$('#editRow').modal();
}
我认为form[0].reset();
应该防止这种错误的情况,但似乎没有帮助。你能解释一下吗
# 1 楼答案
似乎reset()不会使窗体的id为空,而是会清除窗体的输入
https://www.w3schools.com/jsref/met_form_reset.asp