1

我有一个包含两个字段的表单的 HTML 文件。这些字段的值应该发布到 PHP 中,并且这个 PHP 应该使用 JQuery 从 HTML 中获取。这就是我实施的。

我的 HTML 文件:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js"></script>
    <script>
        $(document).ready(function(){
           $("button").click(function(){
                $("#first").load("result_jquery.php");
            });
        });     

    </script>
</head>
<body>
    <div id="first"></div>
    <div>
        <form method="POST" id="myForm">
        Name: <input type="text" name="name"/><br/>
        Number: <input type="text" name="number"/><br/>
        <button>submit</button>
        </form>
    </div>
</body>

这是我的result_jquery.php

<?php
$n = $_POST["name"];
echo "hello ".$n;
?>

当我单击提交按钮时,会打印你好。但是这个名字没有被打印出来。你能帮我解决这个问题吗?我不知道我哪里错了。

4

4 回答 4

2

我认为按钮元素的使用令人担忧,我现在将放置的代码可以根据需要正常工作,所以试试这个并告诉我结果:)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js"></script>
<script>
    $(document).ready(function(){
       $("#button").click(function(){
            var n = $('[name="namee"]').val();
            var nb = $('[name="number"]').val();
            $("#first").load("result_jquery.php",{'namee':n,'number':nb},function(data){});
        });
    });     

</script>
</head>
<body>
    <div id="first"></div>
    <div>
        <form method="POST" id="myForm">
            Name: <input type="text" name="namee"/><br/>
            Number: <input type="text" name="number"/><br/>
            <input type="button" value="Submit" id="button" />
        </form>
    </div>
</body>
</html>
于 2013-03-28T21:02:03.227 回答
1

复制这段代码:

<script type="text/javascript">
$(document).ready(function() {
    $("#send").click(function() {
        $.ajax({ 
            type: "POST", 
            data : "name="+$( '#name' ).val(),
            url: "result_jquery.php", 
            success: function(msg) {
                $('#first').html(msg);
            }
        }); 
    });
});
</script>

改变这个形式

<form method="POST" id="myForm">
    Name: <input type="text" id="name" name="name"/><br/>
    Number: <input type="text" id="number" name="number"/><br/>
    <input type="button" id="send" value="Submit">
</form>
于 2013-03-28T20:43:19.047 回答
0

来自 jQuery 文档load

此方法是从服务器获取数据的最简单方法。它大致相当于 $.get(url, data, success) ,只是它是一个方法而不是全局函数,并且它具有隐式回调函数。当检测到成功响应时(即当 textStatus 为“success”或“notmodified”时),.load() 将匹配元素的 HTML 内容设置为返回的数据。这意味着该方法的大多数用途都非常简单:

您正在使用该方法执行 HTTP GET,而不是 POST。

我的建议是,如果您想向服务器发送一个包含信息的 AJAX 请求,请习惯使用长格式的 jQuery AJAX:

$.ajax({
    data: 'url=encoded&query=string&of=data&or=object',
    url: 'path/to/server/script.php',
    success: function( output ) {
        // Handle response here
    }
});

有关详细信息,请参阅 jQuery 文档:http ://api.jquery.com/jQuery.ajax/

于 2013-03-28T20:02:52.537 回答
0

试试看,然后告诉我结果:)

var n = $('[name="name"]').val();
var nb = $('[name="number"]').val();
$('#error').load("result_jquery.php", {'name':n,'number':nb},function(data){});

注意尝试将名称字段的元素名称从“name”更改为“namee”,并根据需要应用更改,如下所示:

var n = $('[name="namee"]').val();
var nb = $('[name="number"]').val();
$('#error').load("result_jquery.php", {'namee':n,'number':nb},function(data){});

和 result_jquery.php 文件:

<?php
$n = $_POST["name"];
echo "hello ".$n;
?>
于 2013-03-28T20:27:20.107 回答