当输入字段为空时阻止表单提交

时间:2013-04-11 16:24:10

标签: javascript

当没有为'roll'输入字段提供值时,'empty()'函数会产生一个警告,但是这个空值仍然传递给'retrive.php',所以如何阻止这种情况发生并且只通过当提供某个输入值时,将值设为'retrive'.php。

<html>
 <head>
   <title>STUDENT FORM</title>
    <script type="text/javascript">
        function empty()
        {
          var x;
          x = document.getElementById("roll-input").value;
          if (x == "") 
           { 
              alert("Enter a Valid Roll Number");
           };
        }
    </script>
</head>
 <body >
  <h1 align="center">student details</h1>       
    <div id="input">
      <form action='retrive.php' method='get'>
       <fieldset>
        <legend>Get Details</legend>
          <dl>
            <dt><label for="roll-input">Enter Roll Number</label></dt>
        <dd><input type="text" name="roll" id="roll-input"><dd>
            <input type="submit" value="submit" onClick="empty()" />
          </dl>
        </fieldset>
      </form>
    </div>  
  </body>
</html>

7 个答案:

答案 0 :(得分:30)

您需要返回false才能取消提交。

function empty() {
    var x;
    x = document.getElementById("roll-input").value;
    if (x == "") {
        alert("Enter a Valid Roll Number");
        return false;
    };
}

<input type="submit" value="submit" onClick="return empty()" />

<强> jsFiddle example

答案 1 :(得分:4)

如何使用必需的属性?

<input id="Name" name="Name" class="form-control" placeholder="Enter name" type="text" required/>

仅适用于html5。

答案 2 :(得分:3)

最简单的方法是在输入标记中添加“必需”属性

<input type="text" name="name" required>

答案 3 :(得分:2)

<form method="post" name="loginForm" id ="loginForm" action="login.php">
<input type="text" name="uid" id="uid" />
<input type="password" name="pass"  id="pass" />
<input type="submit" class="button" value="Log In"/>
<script type="text/javascript">

$('#loginForm').submit(function() 
{
    if ($.trim($("#uid").val()) === "" || $.trim($("#pass").val()) === "") {
        alert('Please enter Username and Password.');
    return false;
    }
});

</script>
</form>

答案 4 :(得分:2)

我使用这个我认为它可以帮助

  $(function () {
        $('form').submit(function () {
            if ($('input').val() === "") {
                alert('Please enter Username and Password.');
                return false;
            }
        });
    })

或使用类似于此类的ID

$('.inputClass')
$('#inputID')

答案 5 :(得分:1)

当不应提交表单时,使empty()返回false

答案 6 :(得分:1)

如果您想保存代码,只需执行以下操作:

<input type="text" name="roll" id="roll-input">
<input type="submit" value="submit" onClick="return document.getElementById('roll-input').value !=''"/>

我只是说。