2013-03-22 2 views
-1

사용자가 버튼을 클릭 할 때 쿠키 값을 설정하는 함수가 있습니다.jquery 문서를 준비 할 수없는 함수를 호출 할 수 없습니다.

변경 이벤트가 발생하면 내 선택 상자에서 두 가지 메서드를 호출합니다. 이 함수는 올바르게 호출하고 잘 작동합니다.하지만 문제는 아래의 jquery 함수에서이 두 함수를 호출 할 때입니다. <select NAME="the_menu" size="1" id="Item" onChange="UpdateUnitMenu(this, document.form_A.unit_menu); UpdateUnitMenu(this, document.form_B.unit_menu)"> "language"라는 이름의 쿠키가있는 경우 동일한 메소드를 호출하려고합니다. 두 함수는 기본적으로 첫 번째 값을 선택하여 두 개의 드롭 다운 선택 상자 값을 채 웁니다.

MyForm을

<form name="property_form" > 
    <select NAME="the_menu" size="1" id="Item" onChange="UpdateUnitMenu(this, document.form_A.unit_menu); UpdateUnitMenu(this, document.form_B.unit_menu)"> <optgroup label="Select Any One Type"> </optgroup> </select> 
    <input type="button" id='continue' value="Save as default value"/> 
</form> 

내 기능

<script> 
     $(document).ready(function(){ 
      $('#continue').click(function() { 
       var singleValues = $("#Item").val(); 
       $.cookie("language", singleValues); 
      }) 
     alert($.cookie('language')); 
     $('#Item').val($.cookie('language')).attr('selected', true); 

     if($.cookie('language')!=null) 
       { 
       var th=$.cookie('language'); 
       UpdateUnitMenu(th, document.form_A.unit_menu);//trying to call first function 
       UpdateUnitMenu(th, document.form_B.unit_menu);//trying to call first function 
       } 
     }); 
    </script> 
+0

오류로 인해 document.form_A 또는 document.form_B에 문제가있는 것으로 나타납니다. 소스를 보면,이 형식들에 포함 된 것이 없습니다. –

+0

@ Beast-a-tron 콘솔에 오류가 발생했습니다 : Uncaught TypeError : undefined의 unit_menu 속성을 읽을 수 없습니다. 이 문제를 해결하는 방법 –

+0

unit_menu는 해당 양식에 존재하지 않으므로 그 오류가 발생합니다. 그 양식에 대한 귀하의 html 마크 업은 무엇입니까? –

답변

1

당신은 하나의 경우 요소 참조하여 함수를 호출하고, 다른 경우에는 문자열입니다. 또한

if (typeof propMenu != 'string') { 
    i = propMenu.selectedIndex; 
} else { 
    i = propMenu; 
} 

, 다른 매개 변수를 두 개의 서로 다른 기능을하고, 하나 개의 기능은 얻을합니다

가 모두 함수 작업을하려면, 단지 이미 문자열이 아니에요 경우 select의 값을 얻을 값을 select에서 삭제 한 다음 다른 함수를 호출하십시오.

+0

제안한대로 위 코드를 업데이트했습니다. 하지만 여전히 같은 문제가 있습니다. 제발 도와주세요 –

+0

내가 볼 수있는 페이지의 코드를 업데이트하면 도움이 될 것입니다. 현재 당신은 로컬에있는 코드에서 어떤 일이 벌어지고 있는지를 볼 수있는 유일한 사람입니다. – Guffa

+0

위에 업데이트 된 코드를 추가했습니다. 코드 위의 내용을 확인하십시오. 업데이트 - 전체 코드 (작은 스크롤 다운)로 이름을 지정했습니다. 이 코드를 복사하여 index.html로 저장하고, index.html을 실행하여 출력을 볼 수 있습니다. –

관련 문제