1

我正在使用 2 个页面:test1.php 和 test2.php。test1.php 包含 2 个<DIV>标签,一个名为“SubmitDiv”,另一个名为“DisplayDiv”。在 SubmitDiv 中,有一个复选框和一个提交按钮。检查复选框并单击“提交”按钮时,我希望它能在displayDiv div标签中显示test2.php。我已经想到了这么多。

但是,现在我希望 test2.php 从 test1.php 接收数据并处理该数据。在这种情况下,它将接收复选框的名称“chk”,并将使用 echo 命令打印该名称。这就是我对如何去做这件事有点难过的地方。在搜索了一些答案之后,这是我到目前为止所写的:

测试1.php:

<html>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<meta charset="utf-8">
<script type="text/javascript">
    function sendQuery() {
        e.preventDefault();
        $.ajax({
            type: 'POST',
            url: 'test2.php',
            data: $('#SubmitForm').serialize(),
            success: function() {
                $('#DisplayDiv').load('test2.php');
            }
        });
        return false;
    }
</script>
<body>
    <form id="SubmitForm" action="" method="post">
        <div id="SubmitDiv" style="background-color:black;color:white;">
            <input type="checkbox" id="chk" name="chk" form="SubmitForm" value="chk">CHECK</input><br>
            <button name="submit" id="submit" type="submit" form="SubmitForm" onclick="return sendQuery();">Submit</button>
        </div>
    </form>
    <div id="DisplayDiv"></div>
</body>
</html>

测试2.php:

<html>
<meta charset="utf-8">
<?php
    $chk = $_POST['chk'];
    echo $chk;
?>
</html>

然而,当单击提交按钮时,它所做的只是刷新页面,而不是像预期的那样在 DisplayDiv 中显示 test2.php。关于如何将数据传递给 test2.php 然后在 DisplayDiv 部分中显示它的任何想法?

4

5 回答 5

2

而不是 .load 功能使用以下

success: function(response) {
     $('#DisplayDiv').html(response);
}
于 2013-10-02T20:28:26.650 回答
1

如果要使用e.preventDefault();,必须将事件传递给函数

function sendQuery(e) {
        e.preventDefault();
  //...
}

否则,我假设您的表单只是在点击时提交。

于 2013-10-02T20:30:40.800 回答
1

您必须首先e.preventDefault();在 sendQuery 函数中删除,因为这无法返回 false onclick。

然后将您的 AJAX 调用更改为如下:

$.ajax({
    type: 'POST',
    url: 'test2.php',
    data: $('#SubmitForm').serialize(),
    success: function(data) {
        $("#DisplayDiv").html(data);
    }
});
于 2013-10-02T20:40:55.370 回答
0

这有效:

$.ajax({
    type: 'GET',
    url: 'data.php',
    data: {
        "id": 123,
        "name": "abc",
        "email": "abc@gmail.com"
    },
    success: function (ccc) {
        alert(ccc);
        $("#result").html(ccc);
    }
});

包括 jQuery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>     
于 2016-10-04T22:08:01.067 回答
-1

数据.php

  echo $id = $_GET['id']; 
  echo $name = $_GET['name'];
  echo $email = $_GET['email'];
于 2016-10-04T22:11:38.853 回答