在PHP contd中的同一页面上加载多个页面

时间:2013-03-03 08:26:08

标签: php javascript jquery

此帖子是此网址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>

我需要做的是,当我点击提交时,它应该转到另一个页面并使用此页面的值进行处理..

我在这里找到的限制是

  1. 当我声明表单操作时,它会转到该特定页面而不是在此页面中加载,如果我将<form name = "i1" action = "processing1.php" method = "get">,控件转到processing1.php并且内容加载到新页面中< / p>

  2. 如果我不提供表单操作,它会以预期的方式工作,但我无法保留此页面的数据..

1 个答案:

答案 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绑定到新代码