2011-07-17 3 views
-1

이 jQuery를 표준 양식 제출자 :jquery의 새로운 기능 : 어떻게 jquery에서 폼을 분리하여 제출할 수 있습니까?

<script> 
$(document).ready(function(){ 
    $("form#submit").submit(function() { 
     var fname = $('#fname').attr('value'); 
     var lname = $('#lname').attr('value'); 
     $.ajax({ 
      type: "POST", 
      url: "report.php", 
      data: "fname="+ fname +"& lname="+ lname, 
      success: function(){ 
       $('form#submit').hide(function(){ 
        $('div.success').show(); 
       });  
      } 
     }); 

     return false; 
    }); 
}); 
</script> 

여기가 형태이다 :

<form id="submit" name="submit"> 
<input id="fname" name="fname" size="20" type="hidden" value="aword"> <font class='black'>report:</font> 
<input id="lname" name="lname" size="40" type="text"> 
<button id="send">send</button> 
</form> 

<form id="submittwo" name="submittwo"> 
<input id="fname" name="fname" size="20" type="hidden" value="anoterword"> <font class='black'>report:</font> 
<input id="lname" name="lname" size="40" type="text"> 
<button id="send">send</button> 
</form> 

report.php :

<?php 
$fname = htmlspecialchars(trim($_POST['fname'])); 
$lname = htmlspecialchars(trim($_POST['lname'])); 
$myFile = "reports.txt"; 
$fh = fopen($myFile, 'r'); 
$theData = fread($fh, filesize($myFile)); 
$fh = fopen($myFile, 'w') or die("can't open file"); 
$stringData = "\n".$fname."\n"; 
fwrite($fh, $stringData); 
$stringData = $lname."\n"; 
fwrite($fh, $stringData); 
fwrite($fh, $theData); 
fclose($fh); 
?> 

많은 형태의 PHP와 루프가있을 것입니다. 내가하고 싶은 것은 별도로 제출하는 것입니다. 어떻게하면 대답을 어디서 찾을 수 있는지 어떻게 알 수 있습니까?

+0

사용'submit'입니다 : | – Rafay

답변

0

당신은 단지 하나의 양식을 사용하지만, 배열로 데이터 가져 오기를 통해

<form id="submit" name="submit"> 
    <input id="fname" name="fname[]" size="20" type="hidden" value="aword"> 
    <input id="lname" name="lname[]" size="40" type="text"> 

    <input id="fname" name="fname[]" size="20" type="hidden" value="anoterword"> 
    <input id="lname" name="lname[]" size="40" type="text"> 
    <input type="submit" value="send" /> 
</form> 

지금 당신이 반복 수있는 필드의 이름을 변경할 수 있습니다 :

foreach ($_GET['fname'] as $index => $value) 
{ 
    echo $_GET['fname'][$index].' '.$_GET['lname'][$index]; 
} 

참고 : ID의이 고유해야합니다 .

0

문제가있는 곳은 분명하지 않지만 현재 페이지를 벗어나지 않고 제출하려는 경우 jQuery Form plugin을 찾고있을 수 있습니다. 양식을 제출하고 결과를 표시하는 것이 약간 쉬우므로 게시 한 코드에있는 것처럼 수동으로 수행하지 않아도됩니다. 내가 잘 여기

$('form').submit(function(e){ 
    e.preventDefault(); // prevent the default behaviour of the form submit 

    var fname = $("#fname",this).val(); // get the fname of the submitted form 
    var lname = $("#lname",this).val(); // get the lname of the submitted form 
    $.ajax({ 
      type: "POST", 
      url: "report.php", 
      data: "fname="+ fname +"& lname="+ lname, 
      success: function(){ 
       $('form#submit').hide(function(){ 
        $('div.success').show(); 
       });  
      } 
     }); 
    }); 

을 도울 수있는 질문을 이해 IFF에

관련 문제