php - 使用ajax将值从html传递到php页面并在div中打印返回值

标签 php jquery html ajax

我想使用ajax将一些值从我的html页面传递到php页面并在div中打印返回值

HTML 代码:

<!DOCTYPE html>
<html>
<head>
<title></title>

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>


<style type="text/css">

#div1, #div2{

    border: 1px solid #000;
    width: 30%;
    margin-left: 10%;
    height: 400px;
    margin-top: 20px;
    float: left;
}

#nm, #cls, #roll, #dob, #submit1{

   margin-top: 10px;
}

</style>


</head>

<body>

   <div id="div1" class="container input-group"> <!-- Make text input and button in same row with Bootstrap -->

        <form>
            <table width="70%">

                <tr>
                    <td align="right">Name : &nbsp;</td>
                     <td>
                        <input type="text" name="nm" id="nm" maxlength="30" class="form-control" placeholder="Name">
                    </td>
                </tr>

                <br>

                <tr>
                    <td align="right">Class : &nbsp;</td>
                     <td>
                        <select class="form-control" align="center" id="cls">
                            <option value="0">Please Select</option>
                            <option value="First Year">First Year</option>
                            <option value="Second Year">Second Year</option>
                            <option value="Third Year">Third Year</option>
                        </select>
                    </td>
                </tr>

                <tr>
                    <td align="right">Roll No. : &nbsp;</td>
                     <td>
                        <input type="text" name="roll" id="roll" class="form-control" placeholder="Roll No." align="center">
                    </td>
                </tr>

                <tr>
                    <td align="right">DOB : &nbsp;</td>
                     <td>
                        <input type="date" name="dob" id="dob" class="form-control" placeholder="Date of Birth" align="center">
                    </td>
                </tr>

                <tr>
                    <td></td>
                     <td>
                        <button class="btn btn-primary" name="submit1" id="submit1">Add</button>
                    </td>
                </tr>

            </table>

        </form>

   </div>

   <div id="div2">

   </div>


<script type="text/javascript">

$(document).ready(function() {           
$('#submit1').click(function() {
var nm = $('#nm').val();
var cls = $('#cls').val();
var roll = $('#roll').val();
var dob = $('#dob').val();
$.ajax({
    type: 'POST',
    url: 'index.php',
    data: ({ nm: nm, cls: cls, roll: roll, dob: dob }),
    success: function(response) {
        $('#div2').html(response);
    }
});
});
});

</script>


</body>
</html>

PHP 代码

<?php 

$nm = $_POST['nm'];
$cls = $_POST['cls'];
$roll = $_POST['roll'];
$dob = $_POST['dob'];


$date = date_format($date, 'Y-m-d');


$now = time();

$dob = strtotime('Y-m-d', $dob);

$difference = $now - $dob;

$age = floor($difference / 31556926);

echo "Name : ". $nm;

echo "Class : ". $cls;

echo "Roll No. : ". $roll;

echo "Age : ". $age;

?>

我不知道我的代码有什么问题。但是当我点击“添加”按钮后,我的地址栏看起来像这样:

index.html?nm=asd&roll=1&dob=1992-08-12&submit1=

即使我使用的是 POST 方法。需要帮助。

最佳答案

您的点击功能仍会发布表单。 使用Javascript的preventDefault()来应对这个问题

$('#submit1').click(function(event) {
    event.preventDefault();
    var nm = $('#nm').val();
    var cls = $('#cls').val();
    var roll = $('#roll').val();
    var dob = $('#dob').val();
    $.ajax({
        type: 'POST',
        url: 'index.php',
        data: ({ nm: nm, cls: cls, roll: roll, dob: dob }),
        success: function(response) {
            $('#div2').html(response);
        }
    });
});

关于php - 使用ajax将值从html传递到php页面并在div中打印返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39960734/

相关文章:

jquery - 如何以编程方式触发可拖动行为

javascript - 剑道按钮数据单击剑道网格模板内不起作用

javascript - 当我单击 html "<a>Download</a>"中的 anchor 时,我正在尝试下载 excel 文件

php - 如何使用 Laravel Socialite 正确修复 CURL 错误 60?

php - 单片模型

php - 清理冗余数据的数据库

javascript - 在相应的选择器上显示/隐藏多个选择器

javascript - 构建一个脚本以从 HTML 表单中获取数据并将其放置在

javascript - 将形状/ mask 动态添加到内联 svg

javascript - 任何与 iPhone 上的视频播放器重叠的 HTML 内容都无法正常工作