2012-08-24 3 views
0

내이사용자 정의 Joomla 버튼에 매개 변수를 전달하려면 어떻게해야합니까?

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

그러나 구문을 사용하여 선택의 함수를 호출하는 버튼을 추가 할 수 있습니다, 그 기능과 함께 매개 변수를 전달하는 것이 가능하다? 나는 시도했다 :

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

어느 것이 작동하지 않았다.

숨겨진 <input>을 간단히 하드 코딩하면 도움이되지 않습니다. 3 개의 버튼 각각에 다른 매개 변수가 필요하기 때문입니다.

현재 각각의 버튼은 다른 기능을 호출합니다.이 중 3 가지 기능은 모두 동일한 기능을 수행합니다. 코드 크기를 줄이려고합니다. 매개 변수를 전달할 수있는 방법이 있습니까 (custom 선언 또는 JS 및 setVar() 조작의 함수 호출을 통해). 그렇지 않으면 3 개의 드라이버 함수를 작성하여 하나의 중심 함수를 호출해야합니까?

+0

세 버튼 중 하나를 누르면 양식을 제출 하시겠습니까? –

+0

예, Joomla가 작동하는 방법입니다. – SomeKittens

+0

onsubmit 양식에 함수를 첨부하고 "작업"숨김 필드가 설정되어 있는지 확인하십시오. 그렇다면 코드를 통해 숨겨진 필드를 양식에 추가 할 수 있습니다. –

답변

0

그런 다음 폼에

<form name='myform' onsubmit='callme()'> 

</form> 

을하는 기능을 첨부 그리고 누른 버튼에 따라 그 값을 필드를 생성하고 설정이

JToolBarHelper::custom('button1', ...); 
JToolBarHelper::custom('button2', ...); 
JToolBarHelper::custom('button3', ...); 

처럼 버튼을 생성합니다.

<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> 
+0

PHP로이 모든 작업을 수행하고 싶습니다. – SomeKittens

관련 문제