0

私は、フォームから応答を取得し (そうであることを願っています)、データをテーブルに入力するこの PHP ページを持っています。次に、同じページのテーブルからの応答をエコーし​​ます。フォームページでajaxを使用してフォームの値を送信し、ajax呼び出しが成功するとデータをdivにロードします。これはすべて更新なしで行われますが、情報は送信されず、ページが更新されるだけです

私のphpページ -

<?php

$comment_name =  $_POST["name"];
$comment_body =  $_POST["comment"];
$film_no =  $_POST["hidden"];
echo $comment_name;
echo $comment_body;
echo $film_no; 


// Connects to your Database 
 mysql_connect("localhost", "****", "****") or die(mysql_error()); 
 mysql_select_db("ignitet1_CheckFilm") or die(mysql_error()); 

$query1 = "INSERT INTO film_comments (comments_id,film_no,name,comment) 
VALUES ('','$film_no', '$comment_name','$comment_body')";
$runquery1 = mysql_query($query1)or die(mysql_error()); 


$getComments = mysql_query("SELECT * FROM film_comments where film_no = '$film_no'") 
                 or die(mysql_error());     

                 while($info = mysql_fetch_array($getComments)) 
                 { 
                echo "<p>";
                echo $info['name']; 
                echo ":</p>";
                echo "<p>";
                echo $info['comment'];  
                echo "</p>";

                echo "<p>Comment posted on:";
                echo $info['timestamp'];    
                echo "</p>";
                echo "</div>";      
?>

私のフォームとJavaScriptコード

<form id="ContactForm2" onsubmit="return submitForm()" >        
<div>                                               <input type="hidden" name="hidden" id="hidden" value="2">
<label for="name">Your Name</label>
<input type="text" name="name" id="name" />
<label for="body">Comment Body</label>                  
<textarea name="comment" id="comment" cols="20" rows="5"></textarea>
<input type="submit" id="comment" class="button" value="Submit" />
<div class="form_result"> </div>
</form> </div>

<script>

function submitForm() {
    $.ajax({type:'POST', url: 'comment.php', data:$('#ContactForm2').serialize(), success: function(response) {
        $('#ContactForm2').find('.form_result').html(response);
    }});


} 

私が試したことはすべてうまくいかないようです。助けていただければ幸いです!:)

4

1 に答える 1

0

あなたのphpでこれを試してみてください。私にとってはうまくいきます。

<html>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>
$(document).ready(function(){
    $('#sub').click(function(){
        $.ajax({type:'POST', url: 'comment.php', data:$('#ContactForm2').serialize(), success: function(response) {
        $('#ContactForm2').find('.form_result').html(response);
    }});
    });
})

    </script>
    <body>
        <div>
        <form id="ContactForm2"> >                                                       <input type="hidden" name="hidden" id="hidden" value="2">
<label for="name">Your Name</label>
<input type="text" name="name" id="name" />
<label for="comment">Comment Body</label>                  
<textarea name="comment" id="comment" cols="20" rows="5"></textarea>
<input type="button" id="sub" class="button" value="Submit" />
<div class="form_result"> </div>
</form> </div>


    </body>
</html>
于 2012-05-02T19:40:44.297 に答える