2012-12-17 7 views
0

하나의 PHP 파일에 두 개의 양식이 있습니다. Form1은 사용자로부터 입력을 받고 Mysql 데이터베이스에 쿼리를 전달하고 데이터베이스에서 데이터를 검색하여 Form2를 채워야합니다.Jquery 버튼을 클릭하여 폼을로드하는 방법?

처음에는 Form2가 숨겨져 있고 사용자가 Form1에서 입력을 선택하고 submit을 클릭하면 Form 값이 Form POST를 통해 PHP 파트로 전달되고 mysql 가져 오기가 수행되고 값과 함께 Form2가 표시됩니다. Form1의

입력 버튼 :

<input id="buttonProductionSummary" class="buttonProductionSummary" type="submit" value="Submit" /> 

코드 형식 값 포스트에 :

$date=$_POST['datepicker']; 
$machine = $_POST['selectMachine']; 
$user = $_POST['selectUser']; 
$shift=$_POST['selectShift']; 
$start_time_query = mysql_query("select time from rpt_shift_log where ((date='$date' and shift_def='$shift' and event_type='$even_type_up_id') and (machine='$machine' and employee='$user'))"); 


while($start_time_Row = mysql_fetch_assoc($start_time_query)) 
{ 
    $start_time = $start_time_Row['time'];  
} 

및이 같은 형식 2의 입력란에 계산 된 값을 사용하고있다.

<input id="start_time_text" class="start_time_text" type="text" name="start_time_text" value="<?php echo $start_time?>"> 

하지만 지금은 버튼 클릭시 Form2를로드하는 스크립트를 차단했습니다. JQuery와 코드는 버튼을 클릭의 양식을로드하는 : JQuery와 스크립트가 실행하는 경우

<script type="text/javascript"> 
    $(document).ready(function(){ 

     $("#buttonProductionSummary").click(function(e) { 

      $("#productionForm").show(); 

      e.preventDefault(); 
     }); 
    }); 
</script> 

문제는, 양식 POST가 발생하지 않습니다. POST가 발생하면 스크립트를 주석 처리해야합니다.

어떻게 POST를 먼저 수행하고 데이터베이스에서 데이터를 검색 한 다음 검색된 데이터로 Form2를 표시 할 수 있습니까?

누군가 나를 도와 줄 수 있습니까?

답변

1

e.preventDefault();은 무엇을 알고 있습니까? 발사에서 기본 동작을 중지합니다! 그래서 양식은 제출하지 않을 것입니다. 페이지를 다시 게시하지 않으려면 Ajax call을 서버에 만들어 두 번째 양식의 데이터를 가져와야합니다.

$("#buttonProductionSummary").click(function(e) { 
     $.post("test.php", $("#testform").serialize(), function(data) { 
      //do something with the data returned from the server. 
      $("#productionForm").show(); 
     }); 
     e.preventDefault(); 
    }); 
+0

나는 양식과 동일한 페이지에 값을 게시하고 있습니다. 나는 내 질문을 잠깐 수정했다. – Allen

관련 문제