这是一个标准的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循环。我想做的是分开提交。你知道怎么做或者你能告诉我在哪能找到答案吗?
如果我很好地理解了这个问题,这对我有帮助
$('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();
});
}
});
});
这里有一个小提琴http://jsfiddle.net/fG8T3/
您可以只使用一个表单,但要更改字段的名称
<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>
现在可以将GET数据作为数组进行迭代了:
foreach ($_GET['fname'] as $index => $value)
{
echo $_GET['fname'][$index].' '.$_GET['lname'][$index];
}
注意:ID必须唯一
这不是很清楚,你有问题,但如果你试图提交他们没有离开当前页面,你可能正在寻找jQuery表单插件。它使提交表单和显示结果更容易,这样您就不会像在您发布的代码中那样手动执行。