[英]Calling two functions on click
單擊按鈕/鏈接時,我必須使用 2 個 js 函數。 一種功能以這種方式工作正常
<a href="javascript:void(0);" class="closePopUp" onclick="resetEnquiryForm('enquiry-form');">close</a>
並且彈出窗口被正確關閉。 現在我想在彈出窗口以這種方式關閉之前再調用一個函數
<a href="javascript:void(0);" class="closePopUp" onclick="return makeSelect('<?php echo $this->getProduct()->getId() ?>', '<?php echo $this->getBaseUrl() ?>retailon/productoption/values'); resetEnquiryForm('enquiry-form');">close</a>
但是只有第一個函數被調用並且彈出窗口沒有被關閉。 我怎樣才能讓這兩個功能在這里工作?
function function1() { var prodId = '<?php echo $this->getProduct()->getId() ?>'; var baseURL = '<?php echo $this->getBaseUrl() ?>retailon/productoption/values'; makeSelect(prodId, baseURL); resetEnquiryForm('enquiry-form'); }
<a href="javascript:void(0);" class="closePopUp" onclick="function1();">close</a>
在您的代碼中,問題是,您從第一個語句返回,因此不執行第二個語句。
最簡單的解決方案是使用另一個可以調用這兩個函數的函數,例如
<a href="javascript:void(0);" class="closePopUp" onclick="return doclick('<?php echo $this->getProduct()->getId() ?>', '<?php echo $this->getBaseUrl() ?>retailon/productoption/values', 'enquiry-form');">close</a>
然后
function doclick(p1, p2, p3) {
var res = makeSelect(p1, p2);
resetEnquiryForm(p3);
return res;
}
只是將函數分配給不同的名稱,比如func1
和func2
並像這樣一起調用它們:
<a href="javascript:void(0);" class="closePopUp" onclick="func1(); func2();">close</a>
1)如果你想調用兩個沒有任何返回值的函數,那么使用下面的代碼
<a href="javascript:void(0);" class="closePopUp" onclick="fun1(); fun2();">close</a>
2)如果你想用任何返回值調用兩個函數然后使用下面的代碼
<a href="javascript:void(0);" class="closePopUp" onclick="return fun1(); fun2();">close</a>
function fun1() {
fun2();
return true;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.