我可以使用语法
添加一个调用我选择的函数的按钮JToolBarHelper::custom('functionIWant', ... );
但是,是否可以将参数与该函数一起传递?我试过了:
JToolBarHelper::custom('functionIWant(0)' ... );
哪个不起作用。
简单地对隐藏的<input>
进行硬编码无济于事,因为我需要为三个按钮中的每个按钮设置不同的参数。
目前,每个按钮都调用一个不同的函数,所有这三个函数都执行相同的操作。我正在尝试减少代码大小。有没有办法可以传递一个参数(通过调用custom
声明中的函数,或者JS和setVar()
操作。)否则,我是否需要创建三个驱动函数并使用它们来实现叫一个中心功能?
答案 0 :(得分:0)
像这样创建你的按钮
JToolBarHelper::custom('button1', ... );
JToolBarHelper::custom('button2', ... );
JToolBarHelper::custom('button3', ... );
然后将一个函数附加到表单
<form name='myform' onsubmit='callme()'>
</form>
然后创建一个字段并根据按下的按钮设置其值。
<script>
function callme()
{
var taskval = document.getElementById('task');
var form = document.forms['myForm'];
var el = document.createElement("input");
el.type = "hidden";
el.name = "myHiddenField";
if (taskval=='button1')
{
el.value = "myValue1";
}
else if ((taskval=='button2')
{
el.value = "myValue2";
}
else
{
el.value = "myValue3";
}
form.appendChild(el);
document.getElementById('task').value = "functionIWanToCall";
return true;
}
</script>