我有一个“password_reset_status”JSP,它通过我的网络应用程序发送的电子邮件链接,以响应密码重置请求。 JSP能够显示3件事中的1件:
除了提交表单外,所有代码都有效。我在表单上有jQuery验证,在输入有效之前阻止提交。这是应该的。但是,当输入有效时(我知道它是有效的,因为我已将其定制为显示检查,并且x在有效和无效字段旁边,并且字段属性表明它们是有效的),它不会执行其“操作”如果它的任何javascript不是“alert()”属性(甚至不是带字符串的警报)!
我在我的网络应用程序中有其他表单的类似系统(唯一的区别是要验证的字段,以及调用发送数据的ajax函数),它们都表现得如此。但是,它们都在常规的html页面上。你认为问题可能是由于这是一个JSP吗?
以下是JSP正文的代码:
<!--The action normally contains an AJAX function that populates the text of "createNewPasswordStatusMessage", but the alert was put there for debugging purposes (it won't even launch the alert! -->
<body>
<c:catch var="e">
<c:choose>
<c:when test="${sessionScope.passwordResetStatus == applicationScope.passwordResetStates.passwordResetCodeCorrect}">
<div id="content">
<h1 id="title"><!--Title of my web app--></h1>
<form id="createNewPasswordForm" action="javascript:alert(\"What is going on?\")" method="post">
<div class="formRows"> <label class="nameLabels" for="newPassword">New password:</label> <input class="formFields" type="password" name="newPassword"/> </div>
<div class="formRows"> <label class="nameLabels" for="confirmNewPassword">Confirm:</label> <input class="formFields" type="password" name="confirmNewPassword"/> </div>
<div class="formRows"> <input type="hidden" name="ID" value="${sessionScope.ID}"/></div>
<div class="formRows"> <input type="hidden" name="firstName" value="${sessionScope.firstName}"/></div>
<div class="formRows"> <input type="hidden" name="action" value="createNewPassword"/> </div>
<div class="formRows"> <input id="newPasswordFormSubmitButton" type="submit" value="Submit new password"/> </div>
</form>
<p id="createNewPasswordStatusMessage"></p>
</div>
</c:when>
<c:when test="${sessionScope.passwordResetStatus == applicationScope.passwordResetStates.passwordResetCodeIncorrect}">
<!-- Message stating that password is incorrect. Omitted for brevity. -->
</c:when>
<c:when test="${sessionScope.passwordResetStatus == applicationScope.passwordResetStates.passwordResetCodeExpired}">
<!-- Message stating that reset code has expired or that an error may have occurred. Omitted for brevity. -->
</c:when>
</c:choose>
</c:catch>
<c:if test="${e!=null}">The caught exception is:
<div id="content">
<h1 id="title"><!--Title of my web app--></h1>
<p id="statusMessage">"<c:out value="${e}" /></p>
</div>
</c:if>
</body>
我不想用文件的头部淹没人,其中包含javascript(在错误解决之后,它将被放入一个单独的javascript文件中)。验证javascript工作,而一个简单的警报没有,所以我认为它可能是表单的JSP代码。有人能指出我正确的方向吗?
修改
总结一下:
答案 0 :(得分:1)
尝试使用
添加处理程序 $('#createNewPasswordForm').submit(callback)