2011-10-12 5 views
0

코드 조각을 작성했습니다, 아래 코드는PHP에서 자바 스크립트 함수 호출/스크립트 작성 방법

<script type="text/javascript"> 
function submitform() 
{ 
    document.myform.action='http://mysite/index.php'; 
    document.myform.submit(); 
} 
</script> 

<?php 
if(isset($_POST['submit_details'])) 
{ 
     echo "<script typ=javascript> submitform();</script>"; 
} 

?> 
<form id="myform"> 
    ------ 
    ------ 
<input type="submit" name="submit_details"> 
</form> 

양식을 제출하려고하면 오류가 발생합니다. document.myform은 정의되지 않았습니다.이 오류를 해결하는 방법

+1

작성된 코드가 잘못되었습니다. PHP 코드에 구문 오류가 있습니다. 당신은 브라우저가'

'을 사용하여 수행 할 일을하기 위해 자바 스크립트를 사용하고 있습니다. 그리고 이것이 _is_index.php이면 PHP는 자동으로 양식을 다시 ... 그리고 다시 ... 그리고 다시 ... – Herbert

답변

2

document.myForm입니다. form 태그 다음에 스크립트를 넣거나 document.onload 이벤트 핸들러 (또는 비슷한)를 사용해야합니다.

(당신이 자동으로 즉시 아무것도 사용자없이 JS하여 양식을 제출하려면 꽤 왜 나를 넘어 있습니다.)

1

그 말 그대로 코드의 경우, 그것을 가지고 구문 오류까지 wazoo의.

시도 :

<?php if (isset($_POST['submit_details'])) { ?> 
    <script type="text/javascript">submitForm();</script> 
<?php } ?> 
+0

위의 코드를 페이지 끝에 추가하면 양식이 제출되지만 양식 값은 empty.form에 제출 양식이 비어 있습니다. – n92

1

이 페이지의 하단, 또는 더 나은에 스크립트를 이동 시도는 위해 window.onload 이벤트를 수신. 스크립트가 브라우저에 의해로드 될 때, DOM은 로딩을 완료하지 못했고 아직 document.myForm을 찾을 수 없습니다.

0

왜 자바 스크립트를 입력과 같이 제출하지 않으시겠습니까?

<input type="submit" name="submitdetails" onclick="javascript:submitform();" /> 

그런 다음 jquery와 함께 $ post를 사용하여 페이지를 실행하십시오.

+1

'javascript :'는 불필요합니다. –

+0

좋아요, 그래서 지금은 배우고 싶습니다, 왜? –

+0

이렇게하면 php에서 함수를 호출 할 필요가 없습니다. 나는 그것이 더 효율적 일 것이라고 생각했다. –