21

当没有为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>
4

6 回答 6

42

您需要返回 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 示例

于 2013-04-11T16:26:27.730 回答
18

使用 required 属性怎么样?

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

仅适用于 html5。

于 2018-04-19T14:33:52.757 回答
9

最简单的方法是将属性“required”添加到输入标签中

<input type="text" name="name" required>
于 2020-03-21T22:05:27.960 回答
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>
于 2014-01-09T20:04:05.193 回答
1

我用这个我认为它可能会有所帮助

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

或像这样使用类或 ID

$('.inputClass')
$('#inputID')
于 2016-06-08T08:55:57.633 回答
0

如果你想保存代码,你可以简单地做:

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

我只是说。

于 2017-06-23T08:51:00.203 回答