我花了大约一个小时在此处和 Google 上进行搜索,但没有成功。我有一个要通过 POST 提交的表单。 JavaScript 运行并验证良好,它甚至“提交”了表单。但当它发生时,它只是重新加载页面。不发送 POST header (在 Firefox 中使用 Firebug 确认)。就好像它只是重新加载页面而不是提交页面。
此表单嵌入在 addUser.php 页面中。
<form action="addUser.php" method="post" name="NewUser">
<div data-role="field-contain">
<label label-for="EmpID" class="ui-hidden-accessible">Enter Employee ID</label>
<input name="EmpID" id="EmpID" placeholder="Employee ID" value="" autocomplete="off" title="Enter Employee ID" type="number" required autofocus>
<label label-for="UserName" class="ui-hidden-accessible">Enter username</label>
<input name="UserName" id="UserName" placeholder="Username" value="" autocomplete="off" title="Enter the new username" required>
<p>
<label label-for="NewPass1" class="ui-hidden-accessible">Enter Your Current Password</label>
<input name="NewPass1" id="NewPass1" placeholder="New Password" value="" type="password" autocomplete="off" title="Must be at least 8 characters, with numbers and upper and lower case letters." required>
</p>
<p>
<label label-for="NewPass2" class="ui-hidden-accessible">Enter Your Current Password</label>
<input name="NewPass2" id="NewPass2" placeholder="Verify Password" value="" type="password" autocomplete="off" title="Re-enter your chosen new password." required>
</p>
</div>
<button type="button" name="submitButton" value="submitButton" data-theme="d" data-inline="true" data-icon="check" data-iconpos="left" onclick="validateForm ()">
Add User
</button>
这是 Javascript:
function validateForm()
{
var reason = "";
reason += validateEmpID();
reason += validateUserName();
reason += validateNewPassword();
if (reason != "") {
alert("There are some errors with the data you entered:\n" + reason);
return false;
} else {
document.NewUser.submit();
}
}
我尝试了各种不同的方法来调用提交,但结果都相同。非常感谢任何帮助。
谢谢 加雷斯
最佳答案
我觉得应该是
document.forms['NewUser'].submit();
或
document.forms.NewUser.submit();
关于JavaScript 未提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15515639/