一次调用两个函数

Calling two functions on click

本文关键字:两个 函数 一次 调用      更新时间:2023-09-26

我必须使用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;
}

只是给函数分配了不同的名称,比如func1func2,然后像这样称呼它们:

<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>
如果你想用任意返回值调用两个函数,那么使用下面的代码
<a href="javascript:void(0);" class="closePopUp" onclick="return fun1(); fun2();">close</a>
function fun1() {
    fun2();
    return true;
}