2016-07-22 24 views
1

何らかの理由で、フォームに送信ボタンがあり、フォームにIDタグがあります。私が.submit関数を呼び出すためのテストを行うと、フォームはただ閉じます。ここでは一例です:http://overtheoceanfilms.com/admin/index.php(プレス「アクション」欄のボタン)Jquery submit form not responding

モーダルを開くリンク(私はHREFタグにロードされる別のページからフォームをロードします。)

<a href="inc/editInquiry.inc.php?id=<?php echo $row['customer_id'];?>" data-reveal-id="modal_inquiry_editUser" data-reveal-ajax="true" id="<?php echo $row['customer_id'];?>"> <i class="fi-page-edit large"></i> </a> 
ここ

は私のモーダルである:ここでは

<!--INQUIRY EDIT USER --> 
<div id="modal_inquiry_editUser" class="reveal-modal" data-reveal aria-labelledby="modalTitle" aria-hidden="true" role="dialog"> 


<a class="close-reveal-modal" aria-label="Close">&#215;</a> 
</div> 

はjqueryのは、非常に簡単です:

$('#inquiry_editUserForm').submit(function() { 

    alert('test'); 
}); 

PHPフォーム(editInquiry.inc.php)

<form id="inquiry_editUserForm" method="post" action=""> 
....stuff inside form 
<button type="submit"> Update </button> 
</form> 
+0

フォームを送信しますが、ダイアログは開いたままにしておきますか? –

+0

はい - これ以上コードを表示するために上記のコードを更新しました。私がしようとしているのは、関数を呼び出して "test"を警告することだけです。 – Mike

+0

それは – Mike

答えて

-1

操作を続けるにはtrueを返す必要があります。これは、すでにここで回答され

How to do something before on submit?

+0

まだ運がありません。私の問題は何か別のもので、それを指摘することはできません。 – Mike

+0

私はあなたに質問を正答しました上記の質問...私はそれをデバッグするより多くのコードを参照してくださいする必要があります@MikeCerveni –

+0

今すぐ上のコードを更新 – Mike

0

をあなたは代わりに「提出」の、イベントを「クリック」を使用する必要があります。また、あなたはclickイベントが.on("click", handler)

+0

'click'イベントをフォーム全体に付けると、クリックするたびにトリガーされます。 –

+0

は、より多くを表示するようにコードを更新しました。私がしようとしているのは、それが関数を呼び出し、 "テスト"を警告することだけです。それは – Mike

+0

私はexempleのURLにアクセスし、私はイベントを手動でバインドする場合は、ブラウザのコンソールを使用して、それを試して、フォームを開いた。たぶん問題は、イベントをバインドしている瞬間に関係しているかもしれません。 – Guilherme

0

のショートカットであることだけでリマインダーこの

$('#inquiry_editUserForm').click(function(e) { 
    e.preventDefault(); 
    alert('test'); 
}); 

のように、あなたが「のpreventDefault」とデフォルトの動作を抑制しなければならない、あなたがクリックした瞬間に提出しない場合フォームを提出したいが、ダイアログは開いたままでなければならない場合は、ajaxを使用してフォームを提出する必要があります。自分自身でフォームに、または送信ボタンにイベントを添付することができます。

submitイベントを使用する場合は、preventDefault()に電話するか、最後にfalseを返して、送信アクションをキャンセルしてください。

$('#inquiry_editUserForm').submit(function(evt) { 
    //your code goes here 
    $.ajax({ 
     method: "POST", 
     url: "some.php", 
     data: $(this).serialize() //Encode form elements as a string for submission. 
     //If using serialize(), name attribute in form elements is required 
    }) 
    .done(function(msg) { 
     alert("Data Saved: " + msg); 
    }); 
    return false; //return false will cancel the page to reload/redirect 
    //evt.preventDefault(); //or we can use preventDefault() 
}); 

ほぼ同じで、私はあなたがすぐにあなたのイベントを装着しているとid inquiry_editUserFormを持つ要素にはない、自分のホームページのソースに見ていた送信ボタン


clickイベントに適用されますまだ存在する。だから、私はあなたがイベントを添付する適切な場所を見つけることをお勧めし、私はそれが完全にロードされた後だと思う。

+0

ありがとう!私はこれを認識しています - 私が持っている問題は、サブミット機能を認識しないサブミットボタンを押したときです。私はonclickイベントでボタンを使用する場合、それは機能を起動します。 – Mike

+0

ここに行くと「顧客」のリンクがあり、すでにフォーム内にもう1つのモーダルを作成しています。送信ボタンを押すと、.submit関数が認識され、「テスト」が通知されます。 – Mike

+0

@MikeCerveni私の回答を更新 –