2011-12-29 6 views
2

jQueryを使用してフォームが送信されるのを中断して防止したいと考えています。これまでjQueryを使用したフォーム提出の停止

<div id="register-box"> 
     <div id="register-box-inner"> 
      <h2>Register</h2> 
      <form action="/register" method="post" id="register-form"> 
       <p><label for="username">Username:</label><input type="text" name="username"></p> 
       <p><label for="password">Password:</label><input type="password" name="password"></p> 
       <p><label for="email">E-mail:</label><input type="text" name="email"></p> 
       <p><input type="submit" value="Register" class="register"></p> 
      </form> 
     </div> 
    </div> 

、私のJavascriptコード:ここに私のフォームマークアップだ

$('#register-form').submit(function(e){ 
    e.preventDefault(); 
    alert("hi"); 
}); 

問題であり、フォームがまだ通り抜けます。私は、AJAXを使用してフォームを送信したいと思いますが、Javascriptを有効にしていないユーザーにはフォールバックを行います。 Javascriptコンソールにもエラーは表示されません。

+1

可能重複(http://stackoverflow.com/questions/5915893/stop-form-submission-with-submit-eventlistener ) – brendan

答えて

4

はハンドラからfalseを返してみ

$("form").live("submit", function() { 
     alert("hi"); 
     return false; 
    }); 
+0

まだ動作しません。問題は、このフォームのマークアップが 'display:none'のページにあり、jQueryライトボックスのプラグインを使用してフォームを表示していることです。これは基本的にマークアップをコピーしています。だから私のページに2つの「登録フォーム」IDを持つことになります。その周りには何か? –

+0

あなたは警報を発していますか?もし何回警報が出ているのですか? –

+0

私は警告を受けていません。 –

1

を試してみてください。

$('#register-form').submit(function(e){ 
    e.preventDefault(); 
    alert("hi"); 
    return false; 
}); 
0

試してみてください。[提出のEventListenerと停止フォーム送信]の

<p><input type="submit" value="Register" class="register" onclick="submit(); return false;"></p> 
関連する問題