2010-08-19 3 views
0

나는 그것을 함수를 호출 한 : myFunction(A,B,C) 를 내 옵션에서 onchange를 이벤트가 나는 "myFunction(A,B,C)"패스 매개 변수

를 처리 또한 onclick 이벤트가 두 개의 라디오 버튼이 그 과정 "myFunction(A,B,C)"

<select id='B' onchange="myFunction(userid,B,C)"> 

을 선택

나는 이벤트를 동적으로 처리하기 위해 아약스를 사용하고 있습니다.

내 질문에, 라디오 버튼의 onclick 이벤트에, 내가 매개 변수 "B"

및 옵션에 대한 onchange를 이벤트에, 내가 원하지 않는를 처리하기 위해 "myFunction이"을하지 않으려한다

"하여 myFunction "매개 변수"C "를 처리하려면

동일한 기능을 사용하고 있지만 매개 변수가 해당 onlick/onchange 이벤트에만 처리되기를 원합니다. 나는 그들을 무시하고 싶지 않다 그리고 나는 어떤 가치가 DB에 전달 싶지 않아.

이것이 가능한지 확실하지 않지만, 그렇다면 입력을 크게 환영합니다.

감사

+0

하는 PHP 함수 또는 자바 스크립트 기능이 myFunction이 무엇입니까? 왜 2 개의 함수로 만들지, 또는 처리해야 할 것을 결정하기 위해 4 번째 매개 변수를 추가하는 것이 어떻습니까? – Fosco

+0

err ... myFunction은 자바 스크립트 함수 또는 PHP 함수입니까?편집 : fosco 당신은 빠르다 ...-) – acm

+0

myfunction은 javascript/ajax 스크립트이지만 그것은 내 PHP 스크립트 내에 있습니다. myfunction은 paramenters를 처리 한 후 다른 PHP 스크립트를 호출합니다. NULL

답변

0

null 또는 undefined를 전달할 경우 인수를 기본값으로 되돌리려면 이와 같은 방법을 시도해보십시오.


function myFunc (A, B, C) { 
    A = A || "some default value"; 
    B = B || "some default value"; 
    C = C || "some default value"; 
} 

// use A and B, not C: 
myFunc('foo', 'bar'); 

// use A and C, not B: 
myFunc('foo', null, 'something'); 

은 다른 방법은 인수에 대한 객체를 전달 순서에 대해 걱정하지 수 :


function myFunc (argumentsObject) { 
    var A = argumentsObject.a || "some default value"; 
    var B = argumentsObject.b || "some default value"; 
    var C = argumentsObject.c || "some default value"; 
} 

// use A and B, not C: 
myFunc({a: 'foo', b: 'bar'}); 

// use A and C, not B: 
myFunc({a: 'foo', c: 'something'}); 
0

왜 발생 이벤트 identificated 추가 매개 변수를 정의하지? 또는 단순히 두 개의 개별 함수를 정의 할 수 있습니까? 또 다른 방법은 언제든지 또는 매개 변수가 설정되고 그에 따라 결정할 때 코드에서 확인할 수 있습니다. 나는 PHP에서 is_set(var_name)과 같은 것을 생각합니다.

EDIT.

당신의 질문에 따라 ywhy 당신은 단순히 이것을합니까?

function myFunc(A, B, C) { 
    switch(C) { 
     case "Cyes" : { 
      //Do your job here 
     } 
     case "Cno" : { 
      //Do your job here 
     } 
    } 
} 
+0

감사합니다, is_set 함수가 수행하려고하는 것을 수행 할 수 있는지 확인합니다. – NULL

+0

언제든지 도움이 될지 모르겠습니다. 내가 이것을 쓰는 동안 당신은 아직 설명을하지 않았다. –

0

ok, 실제로는 PHP 기능이 아니라 자바 스크립트 기능에 대해 이야기하고 있습니다. 어쨌든, 나는 2 가지 다른 기능을 만들 것이다. 공통 함수를 세 번째 함수로 분할하고 다른 두 함수에서 호출하십시오.

+0

myFunction에서 호출하는 매개 변수가 호출 된 이벤트를 기반으로 만 처리되기를 원합니다. 그래서 select id = ''태그를 무시하면 onclick 이벤트가 발생합니다. 그 반대. – NULL

0

슬프게도 JS는 기본 인수를 지원하지 않습니다 (나는 이것을 몰랐습니다). 그렇지 않으면 당신은 B를 마지막 인수로 바꾸고 이것을 다음과 같이 호출 할 수 있습니다.

<의 onclick =의 MyFunction (A, C, B)의 onchange = MYFUNCTION (A, C)>

하지만 당신이 정말로 하나 개의 기능을 가지고 있어야합니다 경우 라운드 방법이 있습니다 :

http://www.openjs.com/articles/optional_function_arguments.php