2013-07-11 2 views
-1

제출 버튼이 있습니다. 그것을 클릭하면, 나는 PHP 콜백 파일에서 응답을 반환하려고 노력하고 있습니다. 그러나 나는 어떤 반응도 얻지 못하고있다. 제출을 클릭, 나는 아마도 실수 무엇 PHP의 new.phpAJAX 양식이 PHP 콜백과 상호 작용하지 않습니다.

<script language="javascript" type="text/javascript"> 
    function callme() 
    { 
     var req; 
     try 
     { 
      req = new XMLHttpRequest(); 
     }catch (e) 
     { 
      try 
      { 
       req = new ActiveXObject("Msxml2.XMLHTTP"); 
      }catch (e) 
      { 
       try 
       { 
        req = new ActiveXObject("Microsoft.XMLHTTP"); 
       }catch (e) 
       { 
        alert("Your browser broke!"); 
        return false; 
       } 
      } 
     } 
     req.onreadystatechange=function(){ 
             if(req.readyState==4) 
             { 
              document.getElementById("display_area").innerHTML=req.responseText;; 
             } 
            } 
     req.open("GET","phpcall.php",true); 
     req.send(); 

    } 
</script> 

로 파일을 명하고, PHP 호출이 다시 파일 - phpcall.php

<?php 
    echo "returning from phpcall.php"; 
?> 

라는 이름으로

http://localhost/folder/new.php?submit=Submit+Query 

다음 URL을 얻을 이리??

<form name='myForm'> 
Max Age: <input type='text' id='age' /> <br /> 
Max WPM: <input type='text' id='wpm' /> 
<br /> 
Sex: <select id='sex'> 
<option value="m">m</option> 
<option value="f">f</option> 
</select> 
<input type='button' onclick='ajaxFunction()' 
           value='Query MySQL'/> 
</form> 
<div id='ajaxDiv'>Your result will display here</div> 

답변

1

변경 버튼 <input type="button" value="Submit"> 같은 type="button" 파트 - 형태로 추가

http://localhost/folder/new.php?submit=Submit+Query 

로 변경 URL의 이유는 무엇인가. type="submit"을 유지하면 양식이 제출되어 페이지가 새로 고침됩니다.

+0

감사합니다. 이제는 괜찮습니다 ... – Mayur

+0

'입력 유형 ='버튼 'onclick ='ajaxFunction() '값 ='쿼리 유형 '='버튼 '이어야합니다 onclick = document.getElementById ("ajaxDiv"). innerHTML = req.responseText; 'callme()'value = 'Query MySQL'/> ; ' –

1

제출 단추와 양식을 사용하면 onclick 처리기가 false를 반환하거나 preventDefault 메서드를 호출해야합니다. 그렇지 않으면 XMLHttpRequest가 완료되기 전에 양식이 제출됩니다.

+0

이것은 Niloy Saha에게 나의 다음 질문이었을 것입니다 ... 감사합니다 – Mayur

+0

onsubmit을 사용하는 방법에 대해서도 비슷한 반환 false가 필요합니까? – Mayur

+0

핸들러를 사용하여 이벤트에 연결할 때 브라우저는 먼저 이벤트 핸들러 코드를 실행 한 다음 코드가 true를 반환하거나 아무것도 반환하지 않으면 false를 반환하지 않으면 브라우저는 따라서 다른 핸들러가있는 경우이를 실행하고 그렇지 않은 경우 기본 기능을 사용하여 기본 핸들러를 실행합니다. 이 경우 onsubmit을 사용하여 submit에 첨부하면 false를 반환하지 않으면 브라우저의 기본 이벤트 핸들러가 양식을 제출하거나 preventDefault를 호출하지 않습니다. 양식 유효성 검사에 사용됩니다. 유효성 검사기는 onsubmit에 연결할 수 있으며 – Pethical

관련 문제