2012-01-15 38 views
1

我有多種形式,像這樣:jQuery和許多形式中得到1個一個隱藏的價值

<form method="post" action="change.php" id="form1"> 
    <input name="product_id" type="hidden" value="abc" /> 
    <input name="button_name" id="submit1" type="submit" value="ADD" /> 
</form> 

<form method="post" action="change.php" id="form2> 
    <input name="product_id" type="hidden" value="xyz" /> 
    <input name="button_name" id="submit2" type="submit" value="ADD" /> 
</form> 

當我一個形式,我知道如何讓只有一個價值,但如何能我得到與按鈕點擊對應的隱藏值? 例如,以便點擊form2的按鈕我得到「xyz」?

或者更好的辦法是在整個頁面上添加一個大的大表單並將隱藏的值附加到按鈕本身上? (我只有一個值,我需要傳遞給change.php)

回答

2

下面的代碼將一個處理程序所有形式,但得到的隱藏字段的值,取其形式是與當前提交事件相關聯的一個:

$("form").submit(function() { 
    var $product_id = $(this).find('input[name="product_id"]'); 
    alert("Value within form " + this.id + ": " +$product_id.val()); 
}); 

演示:http://jsfiddle.net/jB88N/

顯然你會做一些比提醒值更有用的東西,但上面的內容顯示瞭如何獲得它。在處理程序中,this是提交的表單。

0

您可以爲所有表單創建一個事件處理程序。

$('form[id^="form"]').on('submit', function() { 
    var hiddenValue = $('input[name="product_id"]', this).val(); 
}); 

但是使用AJAX會更好。