2012-07-09 2 views
0

아약스가있는 동일한 페이지에서 3 단계 마법사를 구현하려고합니다. 두 개의 PHP 파일을 사용하여 Form2 및 Form3을 만듭니다. Form2를 만드는 첫 번째 단계에서는 문제가 없습니다. 그러나 저는 Form3를 만들기위한 두 번째 단계를 고수했습니다. 아래 제안 사항에 따라 Form2의 유효성 검사 코드가 변경되었으며 여기에 새 코드가 있습니다. createForm3.php에서 반환 된 데이터는 정확하지만 div id = "form3"에는 표시 할 수 없습니다.아약스와 PHP를 사용하여 동일한 페이지에서 3 단계 마법사를 개발하는 방법

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $("#form1").validate({ ... 
     alert("I am in form1 validation"); 
     submitHandler: function(form) { 
       $.post('createForm2.php', $("#form1").serialize(), function(data) { 
      $('#form2').html(data); 
        $("#form2").validate({ ... 
        alert("I am in form2 validation"); 
        submitHandler: function(form) { 
        $.post('createForm3.php', $("#form2").serialize(), function(data) { 
         alert(data); 
       $('#form3').html(data); });}}); 
    });}});  

}); 
</script> 
<body> 
<form name = 'form1' id = 'form1' action = '' method = 'POST'> 
.... 
<input type = 'submit' name = 'submit' value = 'Submit'> 
</form> 
<div id="form2"><div> 
<div id="form3"><div> 
</body> 

테스트 용 createForm3.php : echo "Show form 3";

+0

는'alert' 쇼를합니까 : 당신이해야 할 일은

는 아약스 콜백을 Form2의 양식 유효성 검사를 호출입니까? – jeroen

+0

경고 (데이터)를 보았지만 아무 것도 form3 div – eatcpp

답변

0

볼 수 있듯이 #form2 유효성 확인 이벤트 핸들러를 #form1 제출 핸들러의 성공 함수로 이동해야 할 수 있습니다.

이제 이벤트 처리기를 #form2에 연결하면 아약스를 사용하여 만든 요소가 해당 요소에 없으므로 첨부하려는 모든 항목이 실패합니다.

+0

에 표시되었습니다. 감사합니다. 아래 제안 사항에 따라 Form2의 유효성 검사 코드를 변경했으며 여기에 새 코드가 있습니다. createForm3.php에서 반환 된 데이터는 정확하지만 div id = "form3"에는 표시 할 수 없습니다. – eatcpp

0

form2에 대한 유효성 검사 기능이 아직 존재하지 않는 상태에서 활성화하면 유효성 검사 방법이 form2에 호출되지 않습니다.

$(document).ready(function(){ 
    $("#form1").validate({ ... 
     submitHandler: function(form) { 
       $.post('createForm2.php', $("#form1").serialize(), function(data) { 
        $('#form2').html(data); 
    $("#form2").validate({ ...}) 

    });}}); 


    }); 
+0

감사합니다. 아래 제안 사항에 따라 Form2의 유효성 검사 코드를 변경했으며 여기에 새 코드가 있습니다. createForm3.php에서 반환 된 데이터는 정확하지만 div id = "form3"에는 표시 할 수 없습니다. – eatcpp

+0

정확히 무엇이 문제입니까? form2가 지금 작동합니까? form3의 경고 (데이터)가 보이십니까? – Tomer

+0

예, 경고 (데이터)를 보았지만 아무 것도 form3 div에 표시되지 않았습니다. 심지어 createForm3.php가 테스트 용 에코 일뿐입니다. – eatcpp