2011-09-09 13 views
0

現在、jQueryダイアログのモーダルボックスにリンクからクリックすると登録フォームが表示されます。私はフォームを提出するときに.delegateを使用しました。イベントで新しいフォーム入力値を取得する - JQuery

JS

$('.regForm').delegate("#submit" , "click" , function(event) { 

    event.preventDefault(); 

    var form_data = { 
     username: $('#regUsername').val(), 
     password: $('#regPassword').val(), 
     confirm_password: $('#regConfPass').val(), 
     email: $('#regEmail').val(), 
     confirm_email: $('#regEmailConf').val() 
    }; 
}); 

HTML

<div class="regForm"> 
     <form action="http://adomain.com/register/jsReg" method="post" accept-charset="utf-8" > 
      <table class="regFormTable"> 
       <tr> 
        <td>Username</td> 
        <td><input class="regInput borderradius3" type="text" name="username" id="regUsername"/></td> 
       </tr> 
        <td></td> 
        <td><input type="submit" class="button borderradius3" value="Register" id="submit"/></td> 
       </tr> 
      </table> 
     </form> 
    </div> 

問題は、私は、ダイアログボックスを閉じ、再度開いたときにフォームの入力値はそれだと思うones.I最初と同じであることです一致したidの最初のセットを探して値を取得すると、私は間違っている可能性があります。私はevent.targetを使って値を取得しようとしていますが、値を取得する方法がわかりません。

これについての助けがあれば幸いです。

+0

フォームを使ってどのように箱を開いていますか?あなたのページ構造は何ですか? –

+0

あなたのIDは一意でなければなりません。 – Joe

+0

ボックスの外側をクリックするとボックスが閉じ、リンクをクリックしてボックスを再び開くことができます。同じビューをロードするボックスを開いているときに、IDを一意に設定するにはどうすればよいですか? –

答えて

0

IDは一意である必要があります。あなたの問題は、同じIDを持つ複数の要素があるように思えます。 ダイアログを開くたびに、新しいregFormを作成しますか?その場合:IDが一意であることを確認するには、値を取得した後に "regForm"をremoveするか、次回ユーザーがクリックするとフォームの値をリセットして既存の "regForm"を再利用できます。

+0

内部でビューをロードする新しいダイアログボックスを作成します。ユーザーがボックスを閉じても運がないときにフォームの値をリセットしようとしました。私はしようと "regForm"を削除し、それが動作するかどうかを確認 –

+0

ウィンドウが閉じられているときに "regform"を削除すると、治療を働いて、ありがとう:) –

関連する問題