如果不满足要求,则停止操作

时间:2011-12-06 01:55:11

标签: javascript

我想检查两个文本框的验证,如果其中任何一个是空的。它显示了一个错误作为innerHTML,如果它们都被填充。它将继续行动。这是我的代码:

function go()
{
  var toCheck = document.getElementById('myAnchor');
  if (toCheck != '') {
     return true;
  }
  else 
  {
    document.getElementById('myAnchor').innerHTML = 'Fred Flinstone';
  }
}

这确实设置了innerHTML,但仍然继续操作。我怎么能阻止它继续?

谢谢!

4 个答案:

答案 0 :(得分:2)

您应该检查文本框的值,

将代码更改为

 function go()
{
  var toCheck = document.getElementById('myAnchor').value;
  if (toCheck != '') {
     return true;
  }
  else 
  {
    document.getElementById('myAnchor').innerHTML = 'Fred Flinstone';
  }
}

答案 1 :(得分:0)

Textfields使用value属性。

  document.getElementById('myAnchor').value = 'Fred Flinstone';

空文本字段的值为“”。

function go()
{
    var toCheck = document.getElementById('myAnchor');
    if (toCheck.value != "") {
        return true;
    }
    else 
    {
        toCheck.value = 'Fred Flinstone';
    }
}

这是一个有效的例子。

<!DOCTYPE html>
<html>
<body>

<form name="form" action="data.php">
<label style="float:left">
<font face="Comic Sans MS">* username &nbsp
</label></font>
<input type="text" id='textfield' name="name" size="40" style="float: left;">

<label id='myAnchor' style="display: inline; padding-left: 20px;"></label> <br/> <br/>
<label style="float:left"><font face="Comic Sans MS">* password &nbsp</label></font>

<input type="text" name="pwd" size="40" style="float: left;">
<label id="myAnchor2" style="display: inline; padding-left: 20px;">
</label> <br/> </p> <input type="button" value="LogIn" onClick="return go();"> </form>

</body>
<script>

function go()
{

    var toCheck = document.getElementById('textfield');
    if (toCheck.value != "") {
        return true;
    }
    else 
    {
        toCheck.value = 'Fred Flinstone';
    }
}

</script>

</html>

答案 2 :(得分:0)

在表单上添加onsubmit:

<form onsubmit="return true;">
...
</form>

如果返回为假,如果确实如此,它将停止提交相反的方案。您也可以在该属性上调用您的函数并执行相同的操作,如果它不符合条件,它将停止提交您的表单并执行您希望发生的其他过程。

答案 3 :(得分:0)

在你的问题中你说过

  

我想检查两个文本框的验证

在这种情况下,您应该检查文本框的值,而不是myAnchor。 我会改变你的html代码:

<input type="text" name="name" id="name" size="40" style="float: left;">
<input type="text" name="pwd" id="pwd" size="40" style="float: left;">
<input type="submit" value="LogIn" onSubmit="go();">
  • 将id添加到输入框
  • 然后将onClick事件更改为onSubmit。这样你可以在函数中执行javascript验证,如果一切顺利,则提交表单,否则显示错误。

然后你的脚本就像......

function go() {
  var name = document.getElementById('name').value,
      pwd = document.getElementById('pwd').value;

  if (name != '' && pwd != '') {
     document.forms["form"].submit();
  }
  else {
    document.getElementById('myAnchor').innerHTML = 'Fred Flinstone';
  }
}