Jqueryを使用して、login.php
?
<form action="login.php" method="post">
<label>Login Name:</label>
<input type="text" name="email" id="log" />
<label>Password:</label>
<input type="password" name="password" id="pwd" />
<input type="submit" name="submit" value="Login" />
</form>
ありがとう。
あなたはこれを行うことができます:
// Bind the event handler to the "submit" JavaScript event
$('form').submit(function () {
// Get the Login Name value and trim it
var name = $.trim($('#log').val());
// Check if empty of not
if (name === '') {
alert('Text-field is empty.');
return false;
}
});
「必須」を使用できます http://jsbin.com/atefuq/1/edit
<form action="login.php" method="post">
<label>Login Name:</label>
<input required type="text" name="email" id="log" />
<label>Password:</label>
<input required type="password" name="password" id="pwd" />
<input required type="submit" name="submit" value="Login" />
</form>
簡単な解決策は次のようなものです
_$( "form" ).on( "submit", function() {
var has_empty = false;
$(this).find( 'input[type!="hidden"]' ).each(function () {
if ( ! $(this).val() ) { has_empty = true; return false; }
});
if ( has_empty ) { return false; }
});
_
注: jQuery.on()
メソッドはjQueryバージョン1.7+でのみ使用できますが、現在はイベントハンドラーをアタッチするための推奨メソッドです。
このコードは、フォーム内のすべての入力をループし、値のない入力がある場合にfalseを返すことでフォームの送信を防ぎます。フォームの送信に失敗した理由に関するメッセージはユーザーに表示されないことに注意してください(追加することを強くお勧めします)。
または、 jQuery validate プラグインを見ることができます。これだけでなく、さらに多くのことを行います。
注意:このタイプの手法は、常にサーバー側の検証と組み合わせて使用する必要があります。
フォームにハンドラを追加する必要があります submit event各テキストフィールドをチェックする必要があるハンドラで、値が空でない場合は要素とパスワードフィールドを選択します。
$('form').submit(function() {
var res = true;
// here I am checking for textFields, password fields, and any
// drop down you may have in the form
$("input[type='text'],select,input[type='password']",this).each(function() {
if($(this).val().trim() == "") {
res = false;
}
})
return res; // returning false will prevent the form from submitting.
});
どの入力が不足しているかを教えてくれないフォームは本当に嫌いです。だから私はドミニクの答えを改善します-これに感謝します。
Cssファイルで、「borderR」クラスの境界線が赤色に設定されます。
$('#<form_id>').submit(function () {
var allIsOk = true;
// Check if empty of not
$(this).find( 'input[type!="hidden"]' ).each(function () {
if ( ! $(this).val() ) {
$(this).addClass('borderR').focus();
allIsOk = false;
}
});
return allIsOk
});
jquery validateプラグインを試してください:
$('form').validate({
rules:{
email:{
required:true,
email:true
}
},
messages:{
email:{
required:"Email is required",
email:"Please type a valid email"
}
}
})
function isEmpty(val) {
if(val.length ==0 || val.length ==null){
return 'emptyForm';
}else{
return 'not emptyForm';
}
}
$(document).ready(function(){enter code here
$( "form" ).submit(function( event ) {
$('input').each(function(){
var getInputVal = $(this).val();
if(isEmpty(getInputVal) =='emptyForm'){
alert(isEmpty(getInputVal));
}else{
alert(isEmpty(getInputVal));
}
});
event.preventDefault();
});
});
var save_val = $("form").serializeArray();
$(save_val).each(function( index, element ) {
alert(element.name);
alert(element.val);
});