【发布时间】:2015-09-02 04:48:04
【问题描述】:
满足表单验证功能后如何提交表单?我需要它重定向到我的主页。我完全被难住了。是否可以使用<input type="button"> 而不是<input type="submit"> 来提交表单?如果不是,我如何使用提交按钮在提交之前先运行我的表单验证功能?
我的 HTML:
<form name="registerform" ID="registerform">
<div ID="Namebox">
<p>Name</p>
<input type="text" id="name" name="name" />
<br />
</div>
<br />
<div ID="emailbox">
<p>Email</p>
<input type="text" id="email" name="email" size="30"/>
<br />
</div>
<br />
<div ID="passwordbox">
<p>Password</p>
<input type="password" ID="password"/>
<br />
</div>
<br />
<div ID="confirmpasswordbox">
<p>Confirm Password</p>
<input type="password" ID="confirmpassword" onkeyup="passwordvalidator()"/>  <span id="doesnotmatch"></span>
<br />
</div>
<br />
<div ID="citystatebox">
<p>City, State</p>
<input type="text" id="citystate"name="citystate"/>
<br />
</div>
<br />
<br />
On-Snow Disciplines
<br />
<br />
  <input type="checkbox" name="onsnowdisciplines" value="Downhill Skiing"/> Downhill Skiing
<br />
  <input type="checkbox" name="onsnowdisciplines" value="Downhill Snowboarding"/> Downhill Snowboarding
<br />
  <input type="checkbox" name="onsnowdisciplines" value="Cross-Country Skiing"/> Cross-Country Skiing
<br />
  <input type="checkbox" name="onsnowdisciplines" value="Backcountry Skiing"/> Backcountry Skiing
<br />
  <input type="checkbox" name="onsnowdisciplines" value="Backcountry Snowboarding/Splitboarding"/> Backcountry Splitboarding
<br />
  <input type="checkbox" name="onsnowdisciplines" value="Park Skiing"/> Park Skiing
<br />
  <input type="checkbox" name="onsnowdisciplines" value="Park Riding"/> Park Riding
<br />
  <input type="checkbox" name="onsnowdisciplines" value="Ski Mountaineering"/> Ski Mountaineering
</p>
<br />
<br />
<input type="button" id="registerSubmitButton" onclick="regSubBut()" value="Send It">   <span id="errorInformer" style="color:red;"></span>
</form>
我的 JS:
function regSubBut() {
var error = document.getElementById("errorInformer");
var email = document.getElementById("email");
var emailFilter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (document.getElementById("name").value === "")
{
error.innerHTML = "Please enter a name";
document.getElementById("name").focus();
return false;
}
else if (email === "" || !emailFilter.test(email.value))
{
error.innerHTML = "Please enter a valid email";
email.focus();
return false;
}
else if (document.getElementById("password").value === "" || document.getElementById("confirmpassword").value === "")
{
error.innerHTML = "Please enter a password";
document.getElementById("password").focus();
return false;
}
else if (document.getElementById("citystate").value === "")
{
error.innerHTML = "Please enter a city and state";
document.getElementById("citystate").focus();
return false;
}
else {
return true;
var frm = document.getElementById("registerform");
frm.action = "Homepage.html";
frm.submit();
document.getElementById("welcomebutton").style.display = "block";
}
}
【问题讨论】:
标签: javascript html forms