0

我可以添加一个按钮,使用语法调用我选择的函数

JToolBarHelper::custom('functionIWant', ... );

但是,是否可以将参数与该函数一起传递?我试过了:

JToolBarHelper::custom('functionIWant(0)' ... );

这没有用。

简单地对隐藏进行硬编码<input>无济于事,因为我需要为三个按钮中的每一个设置不同的参数。

目前每个按钮调用一个不同的函数,这三个函数都做同样的事情。我正在尝试减少代码大小。有什么方法可以传递参数(通过调用custom声明中的函数,或者通过 JS 和setVar()操作。)否则,我是否只需要创建三个驱动程序函数并使用它们来调用一个中心函数?

4

1 回答 1

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>
于 2012-08-24T15:33:22.207 回答