我需要創建30個按鈕,從1到30,其中每個人都調用完全相同的動作腳本(例如全部在相同的形式下),其中傳遞給動作腳本的參數只是按下的按鈕的編號1至30)。例如,假設action腳本是process.php,如果按下按鈕3,那麼我需要從process.php?btn = 3中提取數據,如果按下按鈕27,則需要拉動數據表格process.php?btn = 27。如何使用JQuery處理表單中的幾個提交按鈕?
用JQuery做這件事最簡單,最直接的方法是什麼?
謝謝!
我需要創建30個按鈕,從1到30,其中每個人都調用完全相同的動作腳本(例如全部在相同的形式下),其中傳遞給動作腳本的參數只是按下的按鈕的編號1至30)。例如,假設action腳本是process.php,如果按下按鈕3,那麼我需要從process.php?btn = 3中提取數據,如果按下按鈕27,則需要拉動數據表格process.php?btn = 27。如何使用JQuery處理表單中的幾個提交按鈕?
用JQuery做這件事最簡單,最直接的方法是什麼?
謝謝!
這樣的事情應該這樣做。 beforeSend函數只是爲了向你展示發送給服務器的內容。
$('button').click(function (e) {
e.preventDefault();
var number = $('form button').index(this);
$.ajax('process.php', {
data: 'number='+ number,
beforeSend: function (jqHxR, settings) {
alert(settings.data);
return false;
}
});
});
假設您給您的所有鏈接的類.number
:
$("a.number").click(function(e) {
e.preventDefault();
window.location.href = 'process.php?btn=' + $(this).text();
});
<a class="number" href="#">1</a>
<a class="number" href="#">2</a>
...
這似乎是那最好在服務器端完成,東西的種類爲使服務器與正確的呈現每個href
參數值。我是,假設這不是你的情況下的選項。
編輯:異步性,如要求:
$("a.number").click(function(e) {
e.preventDefault();
// fill up div with ID="results" with content from server
$("#results").load("process.php", { btn: $(this).text() }, function() {
// callback to do something once the content has loaded
// (perhaps not needed)
});
});
<div id="results"></div>
...
<a class="number" href="#">1</a>
<a class="number" href="#">2</a>
...
您提到過,「如果您有30個提交按鈕,您可以將每個數字分配爲他們的值」,這實際上是我最初想問的問題,我該怎麼做?另外,通過鏈接而不是通過提交按鈕來做這件事情的好處是什麼?再次感謝。 – PleaseHelpMe 2011-04-05 19:19:31
您能否給我一個我將用於個人提交按鈕的代碼示例,以便與您上面編寫的代碼一起使用?謝謝。 – PleaseHelpMe 2011-04-05 19:13:37
@NeedExpertHelp我已經更新了我的回覆。讓我知道你是否需要更多的細節。 – EvilAmarant7x 2011-04-05 20:07:14