2015-06-28 64 views
1

當我提交我的表單時,只有彈出框出現,沒有任何查詢結果。我有2個提交按鈕,觸發我的PHP腳本的查詢。查詢結果應顯示在一個彈出框中。我想,我的jQuery代碼應該是錯的。這裏是我的代碼:帶有2個按鈕的Jquery.post提交表單

termM = $form.find("button[name='queryM']").val(), 
termG = $form.find("button[name='queryG']").val(), 
..... 
var posting = $.post(url, { queryM: termM, queryG: termG }); 

您不能分配兩個不同的值,以一個單一的:

<div class="md-modal md-effect" id="modal"> 
<div class="md-content" id="content"> 
<h3>Query Results</h3> 
<div id="result"><?php include 'query/_query.php'; ?></div> 
<button class="md-close">Close</button> 
       </div>  
      </div> 
       <div class="column"> 
       <div align="center"> 
<form id="query" action="" > 
<button class="md-trigger md-setperspective" name="queryM" data-modal="modal" id="queryM">Query Person</button> 
<button class="md-trigger md-setperspective" name ="queryG" data-modal="modal" id="queryG">Query Order</button> 
</form><br> 
</div> 
<script> 
// formular query 
$("#query").submit(function(event) { 

    // prevent pagerefresh 
    event.preventDefault(); 

    // querym & queryg 
    var $form = $(this), 
    term = $form.find("button[name='queryM']").val(), 
    term = $form.find("button[name='queryG']").val(), 
    url = $form.attr("action"); 

    // post data 
    var posting = $.post(url, { queryM: term, queryG: term }); 

    // results in a div 
    posting.done(function(data) { 
    var content = $(data).find("#content"); 
    $("#result").empty().append(content); 
    }); 
}); 
</script> 
      </div> 
     </div> 

<script src="js/loader.js"></script> 
<script src="js/modal.js"></script> 

回答

1

一開始,分別在定義和使用更改term變量termMtermG都可變的,並期望回收它們。第一個值將被第二個值覆蓋。

done回撥中,您可能需要執行console.log(data)以確認您獲得了所需的回覆。

+0

好的謝謝,它的工作原理。但我一次得到2個查詢,我怎麼能把它們分開? – Sparkm4n

+0

有兩個疑問?你能說一點嗎? – PeterKA

+0

好吧,我只想要一個查詢,當我點擊按鈕,但我解決了通過創建第二個窗體 – Sparkm4n