2012-04-19 2 views
0

이 함수를 사용하여 아무런 문제없이 여러 번 querystring이 있거나없이 URL 또는 'self'에 을 제출했습니다. 자바 버그 함수가 전역 변수와 함께 실패했습니다

function submitu(url, q) { 
var frm = document.<?php echo $formname ?>; 
if (url == '') {url = '<?php echo $thispage?>'; } 
frm.action = url+q; frm.submit(); } 

I은 ​​PHP 함수 외부 바르 이동하려고하면

은 아래와 같이,이 작동 중지 (FRM 정의 에러)

var thispage = '<?php echo $thispage?>'; 
var frm = document.<?php echo $formname?>; 
function submitu(url, q) { 
if (url == '') {url = thispage;} 
frm.action = url+q; frm.submit();} 

I 또한 시도 VAR의 FRM =하고 document.forms [ ''] ;

다른 충돌하는 javascript가 없습니다.

(1). 아무도 왜 이것이 작동하지 않는지 말해 줄 수 있습니까? (2). 그리고 왜 함수가

많은 감사의 내부와 JQuery와 $ (함수() {.....} 준비 기능?의 상단에 을 배치하는 경우 첫 번째 방법도 실패하는

답변

1

그것은 실패 할 때 때문에 함수 외부에서, var frm = document.formname; 은 페이지가로드 될 때, 즉 form 요소가 실제로 생성되기 전에 'undefined'가되도록 즉시 실행됩니다. 함수 내부에서는 함수가 실행될 때만 실행됩니다 DOM을 완료하고 찾을 수있는 시간이 얼마 남지 않았습니다.

+0

완벽 함, 이제 이해했습니다. - 감사합니다. – KenAshton

+0

문제는 아닙니다. 답을 '허용됨'으로 표시하는 것을 잊지 마십시오 다른 사람은 알고 있습니다 :) –

+0

Matt, 정확히 대답 하나를 '받아들입니다', 누군가가 질문에 대답하면, 당신은 본능적으로 당신이 그들을 어떻게 보상 할 수 있는지 알아볼 것입니다. – KenAshton

관련 문제