2016-07-22 60 views
1

出於某種原因,我的表單有一個提交按鈕,表單上有一個id標記。當我做一個測試來調用.submit函數時,表單就會關閉。這裏是例子:(我從被在href標記加載其他頁面加載的形式)http://overtheoceanfilms.com/admin/index.php(按在「操作」列中的按鈕)jquery提交表單沒有迴應

打開模式的鏈接

<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 Form(editInquiry.inc.php)

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

所以,你想提交你的表單,但對話框必須保持打開狀態? –

+0

是的 - 我更新了上面的代碼以顯示更多 – Mike

+0

我所要做的就是確保它調用函數併發出「測試」警報。它不 – Mike

回答

-1

您必須返回true才能繼續操作。

這是已經在這裏找到答案:How to do something before on submit?

+0

仍然沒有運氣。我的問題是別的,只是不能指出它。 – Mike

+0

我給你正確的答案上面問的問題...我們應該看到更多的代碼來調試它actaully,@MikeCerveni –

+0

更新後的代碼現在 – Mike

0

您應該使用「click」事件,而不是「提交」。此外,如果你不想在此刻提交你點擊,則必須禁用默認行爲與「的preventDefault」,類似這樣的

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

只是一個提醒,click事件是.on("click", handler)

+0

如果你將一個'click'事件附加到整個表單上,它會在每次點擊觸發時觸發 –

+0

更新代碼以顯示更多。所有我想要做的是確保它調用函數並警告「測試」。它不 – Mike

+0

我訪問了例行url並打開了表單,如果我手動綁定事件,使用瀏覽器控制檯它的工作,試試看。也許這個問題與你約束事件的時刻有關。 – Guilherme

0

快捷方式如果您想提交表單,但對話框必須保持打開狀態,則應使用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() 
}); 

幾乎同樣適用於click事件提交按鈕


我接過來一看你的網頁的源文件,你儘快安裝相關活動,並與ID inquiry_editUserForm元素不存在。所以,我建議你找到合適的位置來附加事件,並且我認爲它是在表單完全加載之後。

+0

謝謝!我意識到這一點 - 我遇到的問題是當我按下提交按鈕它甚至不承認.submit函數。但是如果我使用帶有onclick事件的按鈕,它將觸發該功能。 – Mike

+0

如果你現在進入頁面,有一個'客戶'鏈接,我已經在其中創建了一個帶有表單的模式,當你按下提交按鈕時,它確實可以識別.submit函數並提醒'測試'。 – Mike

+0

@MikeCerveni我更新了我的答案 –