2013-08-31 8 views
8

: -jQueryで `form.field.value`を取得する方法は?私は以下のように提出上のフォーム検証することができますJavaScriptで

<form action="" method="post" onsubmit="return validate(this)"> 
    <input type="text" name="uName" id="uName" /> 
    <input type="password" name="passKey" id="passKey" /> 
    <input type="submit" name="loginBtn" value="login" /> 
</form> 

<script type="text/javascript"> 
function validate(loginForm){ 
    if(loginForm.uName.value == ''){ 
     alert('Please Enter Username'); 
     loginForm.uName.focus(); 
    }else if(loginForm.passKey.value == ''){ 
     alert('Please Enter Password'); 
     loginForm.passKey.focus(); 
    }else { 
     return true; 
    } 
} 
</script> 

を私は私を助けてください...

<form action="" method="post"> 
    <input type="text" name="uName" id="uName" /> 
    <input type="password" name="passKey" id="passKey" /> 
    <input type="submit" name="loginBtn" value="login" /> 
</form> 
<script type="text/javascript"> 
    $('form').submit(function(loginForm){ 
     if(loginForm.uName.val() == ''){ 
      alert('Please enter username'); 
      loginForm.uName.focus(); 
     }else if(loginForm.passKey.val() == ''){ 
      alert('Please enter username'); 
      loginForm.passKey.focus(); 
     }else { 
      return true; 
     } 

     return false; 
    }); 
</script> 

でもない私を作品

jQueryのコードの下で試してみました...!

+0

あなたはjQueryのメソッドを使用しようとしていますDOM要素について最初に 'jQuery'でそれらをラップする必要があります。 – elclanrs

+0

@elclanrs素早い返信をありがとう... jQueryで何を書いているのか理解していない:(私に説明してもらえますか?) – rkaartikeyan

+1

jQuery(関数($){...})でコードをラップする必要があります。 –

答えて

7

このような?

$('#submit').click(function(){ 
    if($('#uName').val() == ''){ 
     alert('empty'); 
    } 
}); 

http://jsfiddle.net/TTmYk/

提出フォームは、uは

+0

あなたの答えをありがとう...私はこの方法を知っていた...しかしjavaのようにしようとしています... form.fieldname.valu :)私はその方法が好きです。 – rkaartikeyan

+0

jQueryには入力値にアクセスするためのフォームが1つあります。これは '.val()'ですが、選択肢はありません。 –

1

これはあなたを助けることを修正する必要があるかもしれません私のバイオリンのタイプミスがあります

jQuery(function($) { 

    var $username = $('#uName'), 
     $password = $('#passKey'); 

    $('form').submit(function() { 

     if ($username.val() == '') { 
      alert('Please enter username'); 
      $username.focus(); 
     } else if($password.val() == '') { 
      alert('Please enter username'); 
      $password.focus(); 
     } else { 
      return true; 
     } 

     return false; 
    }); 
}); 

あなたがする必要があるいくつかのポイント覚えておいてください:

  1. DOMを使用する場合は、jQuery(function() { ... });ブロック内にコードをラップする必要があります。
  2. jQueryを使用してDOM要素にアクセスする場合は、を選択してを選択してから$(...)を使用してください。
3

サブミットコールバック関数の引数は、イベントではなく要素です。だから、コールバックthisはフォーム要素を表すので、this.uName.valueとするだけで、idの使用を避けることができます。 だから、

$('form').submit(function(e){ 
     if(this.uName.value == ''){ 
      alert('Please enter username'); 
      this.uName.focus(); 
     }else if(this.passKey.value == ''){ 
      alert('Please enter username'); 
      this.passKey.focus(); 
     }else { 
      return true; 
     } 

     return false; 
    }); 

Fiddle

プラスval() jqueryの方法であり、平野にあなたがvalueを使用し、十分である必要があり、この場合のでしょうジャバスクリプト。

4

フォームフィールドのjQueryプラグインを参照してください: https://github.com/webarthur/jquery-fields

次のように、プラグインを使用することができます。

var form = $('form#id_form').fields(); 

form.name.val('Arthur'); 
form.age.hide(); 
form.description.css('height', 200); 

それとも、このように:

var form = $('form#id_form').fieldValues(); 

form.name('Arthur'); 
form.age(29); 
form.description('Web developer.'); 

var name = form.name(); 
関連する問題