2013-04-11 3 views
8

Когда в поле ввода «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> 

ответ

21

Вам нужно вернуться ложным, чтобы отменить представить.

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

+3

14 секунд быстрее И с jsfiddle! +1 Ты хороший –

+1

@ j08691 большое спасибо. – Pawan

+1

Большая помощь. Благодаря :-) –

1

Make empty() возвращают ложь, когда форма не должна быть представлена ​​

3
<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> 
2

я использую с этим я думал, что это может быть, может помочь

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

или работать с классом или ID, как этот

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

Если вы хотите сохранить код вы можете просто сделать:

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

Я просто говорю.