HTML表单赢得';t使用Javascript验证后提交
我对使用Javascript以HTML提交表单有疑问 我的Javascript如下所示:HTML表单赢得';t使用Javascript验证后提交,javascript,html,forms,Javascript,Html,Forms,我对使用Javascript以HTML提交表单有疑问 我的Javascript如下所示: function validateForm() { var a= document.forms["myForm"]["pname"].value; var b = document.forms["myForm"]["pemail"].value; var c = document.forms["myForm"]["pdob"].value; v
function validateForm() {
var a= document.forms["myForm"]["pname"].value;
var b = document.forms["myForm"]["pemail"].value;
var c = document.forms["myForm"]["pdob"].value;
var d = document.forms["myForm"]["unit of choice"].value;
var els = document.forms["myForm"].elements["Issue[]"];
var f = document.forms["myForm"]["description"].value;
var g = document.forms["myForm"]["pdatee"].value;
var h = document.forms["myForm"]["ptimee"].value;
var isValid = false;
for (i = 0; i < els.length; i += 1) {
if (els[i].checked) {
isValid = true;
}
}
if (a == null || a == "") {
alert("Your name cannot be blank");
}
if (b == null || b == "") {
alert("Enter a valid email address.");
}
if (c == null || c == "") {
alert("Enter a valid Date of Birth. (dd/mm/yyyy)");
}
if (d == null || d == "") {
alert("Unit and Tutor have to be selected.");
}
if (!isValid) {
alert("Must select an Issue.");
}
if (f == null || f == "") {
alert("Must fill in a description.");
}
if (f == null || f == "") {
alert("Must fill in a description.");
}
if (g == null || g == "") {
alert("Preferred date must follow the format set.");
}
if (h == null || h == "") {
alert("Preferred time must follow the format set.");
}
return false;
}
函数validateForm(){
var a=document.forms[“myForm”][“pname”].value;
var b=document.forms[“myForm”][“pemail”]值;
var c=document.forms[“myForm”][“pdob”].value;
var d=document.forms[“myForm”][“选择单位”]。值;
var els=document.forms[“myForm”]。elements[“Issue[]”;
var f=document.forms[“myForm”][“description”].value;
var g=document.forms[“myForm”][“pdatee”].value;
var h=document.forms[“myForm”][“ptimee”].value;
var isValid=false;
对于(i=0;i
这是我的表单,其属性为HTML:
<form name="myForm" onsubmit="return validateForm()" method="post" action="confirm.html" novalidate="novalidate" >
当我在填写完所有需求后单击Submit按钮(这样所有内容都不会返回false)时,表单不会自行提交
在阅读了关于returnfalse的内容之后,我尝试添加了else{return true;},但它所做的只是在没有任何验证的情况下提交我的表单
我该怎么做才能使它只使用Javascript和/或HTML?谢谢大家! 您需要检查您的输入是否通过了测试。 您可以通过使用var
isValid
来实现这一点
function validateForm() {
var a= document.forms["myForm"]["pname"].value;
var b = document.forms["myForm"]["pemail"].value;
var c = document.forms["myForm"]["pdob"].value;
var d = document.forms["myForm"]["unit of choice"].value;
var els = document.forms["myForm"].elements["Issue[]"];
var f = document.forms["myForm"]["description"].value;
var g = document.forms["myForm"]["pdatee"].value;
var h = document.forms["myForm"]["ptimee"].value;
var isValid = false;
for (i = 0; i < els.length; i += 1) {
if (els[i].checked) {
isValid = true;
}
}
if (a == null || a == "") {
isValid=false;
alert("Your name cannot be blank");
}
if (b == null || b == "") {
isValid=false;
alert("Enter a valid email address.");
}
if (c == null || c == "") {
isValid=false;
alert("Enter a valid Date of Birth. (dd/mm/yyyy)");
}
if (d == null || d == "") {
isValid=false;
alert("Unit and Tutor have to be selected.");
}
if (!isValid) {
isValid=false;
alert("Must select an Issue.");
}
if (f == null || f == "") {
isValid=false;
alert("Must fill in a description.");
}
if (f == null || f == "") {
isValid=false;
alert("Must fill in a description.");
}
if (g == null || g == "") {
isValid=false;
alert("Preferred date must follow the format set.");
}
if (h == null || h == "") {
isValid=false;
alert("Preferred time must follow the format set.");
}
return isValid;
}
如果其中一个条件未满足,则只需将isValid
设置为false
,然后返回isValid
function validateForm() {
var a= document.forms["myForm"]["pname"].value;
var b = document.forms["myForm"]["pemail"].value;
var c = document.forms["myForm"]["pdob"].value;
var d = document.forms["myForm"]["unit of choice"].value;
var els = document.forms["myForm"].elements["Issue[]"];
var f = document.forms["myForm"]["description"].value;
var g = document.forms["myForm"]["pdatee"].value;
var h = document.forms["myForm"]["ptimee"].value;
var isValid = false;
for (i = 0; i < els.length; i += 1) {
if (els[i].checked) {
isValid = true;
}
}
if (a == null || a == "") {
isValid=false;
alert("Your name cannot be blank");
}
if (b == null || b == "") {
isValid=false;
alert("Enter a valid email address.");
}
if (c == null || c == "") {
isValid=false;
alert("Enter a valid Date of Birth. (dd/mm/yyyy)");
}
if (d == null || d == "") {
isValid=false;
alert("Unit and Tutor have to be selected.");
}
if (!isValid) {
isValid=false;
alert("Must select an Issue.");
}
if (f == null || f == "") {
isValid=false;
alert("Must fill in a description.");
}
if (f == null || f == "") {
isValid=false;
alert("Must fill in a description.");
}
if (g == null || g == "") {
isValid=false;
alert("Preferred date must follow the format set.");
}
if (h == null || h == "") {
isValid=false;
alert("Preferred time must follow the format set.");
}
return isValid;
}
函数validateForm(){
var a=document.forms[“myForm”][“pname”].value;
var b=document.forms[“myForm”][“pemail”]值;
var c=document.forms[“myForm”][“pdob”].value;
var d=document.forms[“myForm”][“选择单位”]。值;
var els=document.forms[“myForm”]。elements[“Issue[]”;
var f=document.forms[“myForm”][“description”].value;
var g=document.forms[“myForm”][“pdatee”].value;
var h=document.forms[“myForm”][“ptimee”].value;
var isValid=false;
对于(i=0;i
在提交功能结束时,您将返回:
return false;
}
无论验证是否成功。这将阻止表单提交。确保您在此处使用的是返回真值
,并使用标志正确验证,然后如果标志是真值
,返回假值
您已经有一个标志isValid
。将上述行替换为:
return isValid;
}
因此
返回false代码>在函数validateForm
中,为什么要将onsubmit
设置为onsubmit=“return validateForm()”
?它应该是validateForm
。否则,您的return validateForm
将返回undefined
,或者在您的情况下返回false
,这将阻止表单提交。我编辑了我的帖子。谢谢!我认为我必须返回false;让警报弹出,而不提交表单,但结果不是这样case@Raph谢谢你,伙计。你接受了答案,让我高兴极了!祝你一切顺利!☺非常感谢。我认为我必须返回false;让警报弹出而不提交表单,但事实并非如此。