0

我正在从 jQuery 做一些简单的教程,至于现在我遇到了 php 脚本问题,从输入表单发送数据......我的输入表单如下所示:

<form method="post" action="submit_to_db.php">
<div id="container">
    <label for="name">Name</label>
    <input type="text" name="name" id="name" />

    <label for="email">E-mail address</label>
    <input type="text" name="email" id="email" />

    <label for="comments">Any comments</label>
    <textarea rows="5" cols="35" name="comments" id="comments"> </textarea>
    <br />

    <input type="submit" name="submit" id="submit" value="Send costam" />
</div>
</form>

jQuery 的脚本是:

<script type="text/javascript">
        $(function() {
            $('#submit').click(function() {
                $('#container').append('<img src="a.gif" alt="Please w8" id="loading"/>');

                var name = $('#name').val();
                var email = $('#email').val();
                var comments = $('#comments').val();

                console.log(name, email, comments);

                $.ajax({
                    url: 'submit_to_db.php',
                    type: 'POST',
                    data: 'name=' + name + '&email=' + email +     '&comments=' + comments,
                    success: function(result){
                        console.log(result);
                    }
                });
                return false;
            });
        });
    </script>

好的,那么为什么在我单击提交按钮后没有调用操作......我的意思是我的数据库没有改变,没有添加任何数据,我的浏览器只显示 submit_to_db.php 的代码......也许它可能有用我正在使用 XAMPP,一开始我必须将本地主机的端口更改为 81 - 在 httpd 中。conf I chinge 听:80 到 81...

对于这样的 n00b 问题,我真的很抱歉,我真的不知道如何继续本教程 :( 非常感谢您的帮助。

啊。以防万一-php文件:

<?php
    $conn = new mysqli('localhost:81', 'root', '', 'my_db');
    $query = "INSERT into comments(name, email, comments) VALUES (?, ?, ?)";

    $stmt = $conn->stmt_init();
    if($stmt->prepare($query)) {
        $stmt->bind_param('sss', $_POST['name'], $_POST['email'],     $_POST['comments']);
        $stmt->execute();
    }
    ?>
4

2 回答 2

0

正如评论所指出的,提交按钮在您等待 ajax 时执行他的默认操作。您可以通过选择表单并使用提交方法让表单使用您的功能而不是表单操作,如下所示:

$('form').submit(function(){
/// function goes here
})
于 2013-06-08T00:39:43.533 回答
0

除了有关防止默认操作的注释外,您可能还需要对查询字符串进行 url 编码。否则,表单中写入的内容可能会导致查询字符串出现问题。

于 2013-06-08T00:42:23.947 回答