-1

这篇文章是这个 URL 中的文章的延续在 PHP 的同一页面上加载多个页面

对不起,我觉得这是一个新问题,所以我想发布一个新问题..

谢谢你们在那里的投入。我的核心问题仍然是一样的

“我有一个名为 cwt.html 的基本 HTML 页面,其中包含所有复选框和提交按钮。单击提交按钮后,与所选复选框(cwt.html 的)关联的下一页(例如 processing1.php)应该也被加载在同一页面中..”

我使用了 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 并且内容被加载到新页面中一样

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

4

1 回答 1

0

您可能希望在该表单上使用事件侦听器来捕获提交事件,然后通过 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()来告诉浏览器不要对提交事件执行默认操作。然后,您可以进行自己的事件处理;在这种情况下:通过 AJAX 加载新页面并将其附加到当前页面的某个位置。

.serialize()例如,将创建一个准备好通过 AJAX 提交的字符串。http://api.jquery.com/serialize/

不要忘记通过 AJAX 检索的 HTML 默认情况下不受初始$(document).ready(function () { /* code here */ });调用的影响,您必须使用.live()或其他方式将 jQuery 功能绑定到该新代码。

于 2013-03-03T08:51:02.470 回答