1

我一直在尝试通过使用'getElementById()'和'.value'来验证我的字段。但是,似乎 getElementById.value 不起作用或某些代码与功能重叠。

更新的 Javascript 函数:

function validate() {
    var Name = document.getElementById('Name').value;
    var Tel = document.getElementById('Tel').value;
    var FaxNo = document.getElementById('FaxNo').value;
    if (Name != "") //wanted to check for alphabets only.
    {
         alert("Correct");
         return true; //doesnt go to next.php
    }
    else 
    {
          alert("Don leave blank!")
          return false;
    }
    if (isNaN(Tel)) //check only numbers. Same code for FaxNo.
    {
        alert("Correct");
        return true; //doesnt go to next.php
    }
    else 
    {
      alert("invalid");
      return false
    }

  return true; //doesn't go to next.php
}

我的表格:

<Form action ="next.php" method="post">
<input name="Name" type="text" id="Name" value=""/>
<input name="Tel" type="text" id="Tel" value=""/>
<input name="FaxNo" type="text" id="FaxNo" value=""/>
<input type="submit" name="submit" onclick="return validate();"/>
</Form>

我已经在我的 Javascript 中定义了我的 onclick 函数并尝试添加 return false 。但是警报仍然无法出现。好心提醒。

4

2 回答 2

6

您的标记无效:

<input name="Name" type="text" id="Name" " value=""/>
                                         ^-----------should be removed

所以更正将删除所有额外的"字符:

<input name="Name" type="text" id="Name" value=""/>
<input name="Name" type="text" id="Name" value=""/>
<input name="Tel" type="text" id="Tel" value=""/>
<input name="FaxNo" type="text" id="FaxNo" value=""/>

为了防止提交,当输入无效时,您可以尝试以下操作:

function validate() {
    var Name = document.getElementById('Name').value;
    var Tel = document.getElementById('Tel').value;
    var FaxNo = document.getElementById('FaxNo').value;

    if (Name != "") //wanted to check for alphabets only.
        alert("Correct")
    else {
        alert("Don leave blank!")
        return false;
    }

    if (isNumeric(Tel)) //check only numbers. Same code for FaxNo.
        alert("Correct")
    else {
        alert("invalid");
        return false;
    }
}
//Borrowed from jQuery lib
function isNumeric( obj ){
    return !isNaN( parseFloat(obj) ) && isFinite( obj )
}

<input type="submit" name="submit" onclick="return validate()"/>
于 2012-07-17T17:21:28.087 回答
1

Try this,

function validate() {
    var Name = document.getElementById('Name').value;
    var Tel = document.getElementById('Tel').value;
    var FaxNo = document.getElementById('FaxNo').value;
    if (Name != "") {}
    else {alert("Don leave blank!"); return false;}
    if (isNaN(Tel)){ alert("invalid"); return false;}
    else { }
return true;
}

Your HTML submit button code should be

<input type="submit" name="submit" onclick="return validate()"/>

Use return false to prevent submitting form in case of any validation errors.

于 2012-07-17T17:28:21.403 回答