0

送信後にコメントボックスに書いたときにコメントを表示したいコメントボックスに書いたものを表示する必要があります(コメントを送信するとデータベースで動作し、データベースに保存されます。その値をコメントボックスの下に表示する必要があります別のページに値を送信するために ajax を使用しています)

index.html

<html>
<body>
  <head>
    <script src="jquery-1.9.1.js"></script>
  </head>

<div class="wrapper"style=" margin: 0 auto;width: 1000px;">
    <div class="header"style="width:1000px;height:100px;background:#A6D1ED;"></div>
        <div class="main"style="width:1000px;height:400px;background:#EEEAF2;">

        <form name="form" method="post" action="insertcom.php">
           <textarea  name="comments"  id="comments"style="width:500px;height:100px;"></textarea>
           <input type="submit" name="Submit" value="Submit" id="btnS"/>
       </form>
            <div id="jcontent"></div>
            <script type="text/javascript">
                /* * Checking the Login - * */
                $('#btnS').on('click',function(e){
                    e.preventDefault();
                    var data_get = {
                            'comments': $('#comments').val().trim(),
                            <!-- 'username' : $('#username').val().trim(), -->
                            <!-- 'password' : $('#password').val().trim(), -->
                            <!-- 'email'        : $('#email').val().trim() -->
                            <!-- 'comments' : $('#comments').val().trim() -->
                            };
                    $.ajax({
                                url     : 'insertcom.php',
                                type    : 'POST',
                                data    : data_get,
                                timeout : 30000,
                                success : function(response_data, text, xhrobject) {
                                console.log(text);
                                if(text == "success"){
                                    $('#jcontent').html('success');
                                    }
                                else if(text == "ERROR"){
                                    $('#jcontent').html(' Fail ');
                                    }
                            }
                    });
                });
            </script>   
        </div>
        <div class="footer"style="width:1000px;height:100px;background:#7290A3;"></div>
    </div>  
<style>
h1{margin:0px;}     
</style>


</body>
</html>

insertcom.php

<?php

$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="713481"; // Database name
$tbl_name="test_four"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// Get values from form
$comments=$_POST['comments'];

// Insert data into mysql
$sql="INSERT INTO $tbl_name(comments)VALUES('$comments')";
$result=mysql_query($sql);

// if successfully insert data into database, displays message "Successful".
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='insert.php'>Back to main page</a>";
}

else {
echo "ERROR";
}
?>

<?php
// close connection
mysql_close();
?>

これは私のプロジェクトです........

4

3 に答える 3

0

コードは正常に動作しています。メッセージはコメント領域に表示され、その下に成功メッセージが表示されます。insertcom.php からの応答メッセージを表示するには、JavaScript コードを $('#jcontent').html(response_data); として更新します。サイトの他のページに同じコメント メッセージを表示する場合は、SQL クエリを記述してデータを取得して表示します。

于 2013-09-27T13:22:42.423 に答える
0

PHP スクリプトが、ajax 呼び出しでキャッチされていないエラーをスローしている可能性があると思われます。success呼び出しのハンドラーのみを提供してい$.ajax()ます。errorコールバックも渡してみてください。

エラー コールバックには次のシグネチャがあります: Function( jqXHR jqXHR, String textStatus, String errorThrown ). 詳細はhttp://api.jquery.com/jQuery.ajax/で確認できます。

EDIT:スクリプトに問題がある場合は、問題textStatusについて教えてくれるかもしれません。

于 2013-09-27T13:16:36.483 に答える
0

response_data の表示に成功する

$.ajax({ url : 'insertcom.php'、type : 'POST'、data : data_get、timeout : 30000、success : function(response_data, text, xhrobject) { console.log(text); if(text == "success"){ $('#jcontent').html(response_data); } else if(text == "ERROR"){ $('#jcontent').html('インドの失敗の挿入') ; } } });

于 2013-09-27T13:19:51.397 に答える