問題:我只想在單擊提交按鈕時呼叫的函式在檔案/頁面加載時立即呼叫。我只希望在單擊提交按鈕時觸發該功能。
這個函式需要一個formId引數。我有許多不同formId的形式,我想重新使用該函式,并formId為其提供as 引數。表單 id 將被某些ajax呼叫使用。
重用示例:
buttonA.on('click', loadPageOfSelectedNavItem('#myFormIdA') );
buttonB.on('click', loadPageOfSelectedNavItem('#myFormIdB') );
buttonC.on('click', loadPageOfSelectedNavItem('#myFormIdC') );
//.. and so on..
我在 SO 中做了一些研究,發現了相關的問題和答案,他們建議只提供不帶括號的函式名稱。
如 buttonA.on('click', loadPageOfSelectedNavItem);
但是,它不適用于我的目的,因為我需要將 formId 作為引數提供/傳遞給函式。
你能提出可能的解決方案嗎?
下面是我目前的代碼。
(function(){
buttonA.on('click', loadPageOfSelectedNavItem('#myFormIdA')); //this fires the function on document ready
buttonB.on('click', loadPageOfSelectedNavItem('#myFormIdB')); //this fires the function on document ready
});
function loadPageOfSelectedNavItem(formId){
var form = $(formId);
$.ajax({
url : form.attr('action'),
data: form.serialize(),
type: "post",
success: function(response, status, xhr){
$('#divContainer').html(response); //response is in html format
}, error: function(error){
console.log(error);
}
});
}
謝謝你。
uj5u.com熱心網友回復:
怎么樣:
buttonA.click({id:"#myFormIdA"}, function(event) {
loadPageOfSelectedNavItem(event.data.id)
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/318151.html
標籤:javascript html 查询 dom
上一篇:在DOM中動態創建視頻會導致重復
