繁体   English   中英

Javascript形式验证-无法验证一个变量?

[英]Javascript Form Validation- can't validate one variable?

我为我的网站制作了联系表格,我想进行验证。 这是HTML:

<form name="contact" method="post" action="Contact.php" onsubmit="return validateForm()" >
            <span class="formtext"> name:</span> <input id="nameinput" type="text" name="name" /><br />
            <span class="formtext"> email:</span> <input id="mailinput" type="text" name="email" /><br />
            <span class="formtext"> message:</span><br  /> <textarea id="messageinput" type="text" name="message"> </textarea> <br />
            <input id="submitinput" name="submit" type="submit" value="שלח"/>
        </form>

这是JS:

// Contact Form //
function validateForm()
{
var x=document.forms["contact"]["name"].value;
var y=document.forms["contact"]["email"].value;
var atpos=y.indexOf("@");
var dotpos=y.lastIndexOf(".");
var z=document.forms["contact"]["email"].value;
if (x==null || x=="" || y==null || y=="" || z=="" || z==null)
  {
  alert("Please fill all the details");
  return false;
  }
  else
  if (atpos<1 || dotpos<atpos+2 || dotpos+2>=y.length)
  {
  alert ("Please fill a valid email address");
  return false;
  }
}

问题与变量“ z”有关。 填写表格并将其发送后,即使我确实填写了文本区域,也会收到“请填写所有详细信息”警报。 我知道这是'z',因为如果我同时删除了变量和'if'中与var'z'有关的部分,问题就解决了-但是没有验证。

z还处理email输入,而不是message文本区域

尝试更换

var z=document.forms["contact"]["email"].value;

通过

var z=document.forms["contact"]["message"].value;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM