如何在自定义Joomla按钮中传递参数?

时间:2012-08-24 14:17:43

标签: php joomla joomla2.5

我可以使用语法

添加一个调用我选择的函数的按钮
JToolBarHelper::custom('functionIWant', ... );

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

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

哪个不起作用。

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

目前,每个按钮都调用一个不同的函数,所有这三个函数都执行相同的操作。我正在尝试减少代码大小。有没有办法可以传递一个参数(通过调用custom声明中的函数,或者JS和setVar()操作。)否则,我是否需要创建三个驱动函数并使用它们来实现叫一个中心功能?

1 个答案:

答案 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>