此帖子是此网址Loading Multiple pages on the same page in PHP
中帖子的延续抱歉,我觉得这是一个新查询,所以我想发布一个新问题..
谢谢你们那里的输入..我的核心问题仍然是一样的
“我有一个名为cwt.html的基本HTML页面,其中包含所有复选框和提交按钮。单击”提交“按钮后,下一页(例如processing1.php)与所选复选框(cwt。 html)也应该加载到同一页面中。“
我使用了Load函数调用,相对修复了这个问题,但是我遇到了代码中的另一个重要问题..如果你能帮我解决这个问题会很棒..
<html>
<head>
<title> Conditions We Treat </title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$("#submit1").click(function(){
$("#form1").load('processing1.php');
});
</script>
</head>
<body>
<div id = form1>
<input type = "checkbox" name = "sickness[]" value = "Nausea">Nausea</input><br/>
<input type = "checkbox" name = "sickness[]" value = "Constipation">Constipation</input><br/>
<input type = "checkbox" name = "sickness[]" value = "vomiting">Vomiting</input><br/>
<div id = "submit1"><input type = "submit" name = "submit1" value = "submit"></input></div><br/>
</div>
</body>
</html>
我需要做的是,当我点击提交时,它应该转到另一个页面并使用此页面的值进行处理..
我在这里找到的限制是
当我声明表单操作时,它会转到该特定页面而不是在此页面中加载,如果我将<form name = "i1" action = "processing1.php" method = "get">,
控件转到processing1.php并且内容加载到新页面中< / p>
如果我不提供表单操作,它会以预期的方式工作,但我无法保留此页面的数据..
答案 0 :(得分:0)
您可能希望在该表单上使用捕获submit-event的事件侦听器,然后通过AJAX调用新页面。 jQuery API参考将告诉您如何完成此操作:http://api.jquery.com/submit/
这是一个例子:
$('#form').submit(function(e) {
// prevents the browser from sending the form
e.preventDefault();
// loads your nextpage.php into the target with the form-data sent as postdata
$('#target').load(
"nextpage.php",
{ postdata: $('#form').serialize() }
);
return false;
});
在浏览器发送表单之前调用.submit()
。因此,您可以使用本机函数.preventDefault()
,它将告诉浏览器不要对submit-event执行默认操作。然后,您可以进行自己的事件处理;在这种情况下:通过AJAX加载新页面并将其附加到当前页面的某个位置。
.serialize()
将创建一个准备好通过AJAX提交的字符串。 http://api.jquery.com/serialize/
不要忘记通过AJAX检索的HTML默认不受初始$(document).ready(function () { /* code here */ });
调用的影响,您必须使用.live()
或其他东西将jQuery funtionallity绑定到新代码