【发布时间】:2015-01-03 01:03:18
【问题描述】:
我正在使用以下 JavaScript 代码来清除我页面上的表单。
document.getElementById("bulletinForm").reset();
这段代码确实清除了我的表单,但它是在信息发送到服务器之前完成的。我已经尝试调用表单上的 onSubmit 事件和提交按钮上的 onClick 事件。在清除表格之前如何将信息发送到服务器?我目前没有使用任何 Ajax。我所拥有的只是一个看起来像这样的 Spring 表单。
<form:form commandName="bulletin" method="post" action="processBulletin">
<table>
<tr>
<td>Name: <font style="font-weight: bold; color: red;">
<c:out value='${nameRequired}' /></font><br /></td>
</tr>
<tr>
<td><form:input path="name" id="name" maxlength="100" value="" /></td>
</tr>
<tr>
<td>Subject: <font style="font-weight: bold; color: red;">
<c:out value='${subjectRequired}' /></font><br /></td>
</tr>
<tr>
<td><form:input path="subject" id="subject" maxlength="1000" value="" /></td>
</tr>
<tr>
<td valign="top">Message: <font style="font-weight: bold; color: red;">
<c:out value='${messageRequired}' /></font><br /></td>
</tr>
<tr>
<td><form:textarea path="note" id="note" cols="80" rows="100" value="" /></td>
</tr>
<tr>
<td><input type="submit" value="Submit bulletin" onClick="clearForm()"/></td>
</tr>
</table>
</form:form>
【问题讨论】:
-
您的表单是异步提交的吗?在您的 AJAX 请求响应后重置表单。
-
.reset()将清除某些浏览器中的表单,而不是其他浏览器。您可以运行formElement.elements集合,将''分配给.value以清除每一个。请记住,这也会清除您的按钮值,因此您需要考虑这一点。另外,使用 AJAX。 -
@PHPglue 但是在提交之前还是会这样,所以并不能解决问题。
-
不使用AJAX提交为什么还要清空表单?正常的表单提交会重新加载页面。
-
显示与提交/重置相关的其余代码。
标签: javascript spring