0

我正在尝试发布一些表单数据并返回结果,但我无法让它工作:

的JavaScript:

<script type="text/javascript">
    $(document).ready(function () {

        $("#sendthis").click(function () {

            $.ajax({
                type: "POST",
                data: $('#theform').serialize(),
                cache: false,
                url: "form.php",
                success: function (data) {

                    alert(data);

                }
            });

            return false;

        });

    });
</script>

的HTML:

<form id="theform">
    <input type="text" class="sized" name="name" id="name"><br />
    <input type="text" class="sized" name="email" id="email">
</form>

<a href="#" id="sendthis">Submit</a>

要发布到的页面(form.php):

<?php
if (isset($_POST['name'])){
    $result = $_POST['name'];
}

echo $result;
?>

现在,我的理解是,当表单提交时,它会发布到form.php,并且“name”的输入值会在一个警告框中返回。但是,我似乎无法正确发布(或返回)表单数据。

有问题$('#theform').serialize()吗?也许还有别的?

任何帮助深表感谢。

4

2 回答 2

1

如果在发布期间遇到问题,我会在您的 ajax 请求中添加一个错误回调以捕获。您是否有像 firebug 这样的调试器,可以显示发布的数据(以及发布的位置)?

于 2012-05-10T02:47:16.170 回答
1

试试这个,看看它是否有效

<form id="theform" action="/form.php">
    <input type="text" class="sized" name="name" id="name"/><br />
    <input type="text" class="sized" name="email" id="email" /><br />
    <input type="submit" name="submit" value="Submit" />
</form>

jQuery

$("#theform").on('submit', function () {
    $.post($(this).attr('action'), $(this).serialize(), function(data) {
        alert(data);
    });
    return false;   
});
于 2012-05-10T02:58:58.433 回答