简单的表单教程,php方法不会调用

时间:2013-06-08 00:25:10

标签: php jquery xampp

我正在从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并且在开始时我必须将我的localhost的端口更改为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();
    }
    ?>

2 个答案:

答案 0 :(得分:0)

正如评论所指出的那样,在等待ajax时,提交按钮会执行默认操作。 您可以通过选择表单并使用submit方法来获取表单以使用您的函数而不是表单操作,如下所示:

$('form').submit(function(){
/// function goes here
})

答案 1 :(得分:0)

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