2012-02-20 8 views
0

送信ボタン付きのメッセージボックスがあります。送信ボタンをクリックすると、ボックス内のコンテンツをMYSQLデータベースに挿入する必要がありますが、別のページは表示されません。メッセージボックスに入力したばかりのメッセージは、送信後に同じページに表示されるはずです。私は何をすべきか?別のページに移動せずにコンテンツを表示する方法

+0

は、あなた自身のフォームアクションを持っています。 '

method = "post"> '、あなたのスクリプトの上に' isset($ _ POST) 'があることを確認してください。 –

+0

あなたはajaxソリューションを探しているようです。あなたは正しいページを更新したくありませんか? –

+0

これは実際には同じページにとどまりますが、データはデータベースに挿入されません。 – jibz

答えて

1
<script type="text/javascript"> 
function postData() { 
var order = 'name='+$('#textBoxId').val(); 
$.post("Another_PHP_Page_Path.php", order, function(response,status, xhr){ 
     if (status == "success") { 
      alert(response); 
      $('#divId').text(response); 
     } 
     else if (status == "error") { 
      alert('Something went wrong, we are working to fix it'); 
     }     
}); 
} 
</script> 

注:名前がPHPページに掲載され、データベースにinstertingした後、あなたは、PHP上で何かをエコーすることができますページまたはエコー名を入力すると、同じページで表示されます。ボタンonclickの場合はpostData()を使用し、ボタンタイプの場合はボタンを送信しないでください。

+0

これはあなたのページを別のページにリダイレクトしません... –

4

使用AJAXと呼ばれるものは...

が、これはあなたのコードであると仮定します

<form id="myform" action="something" <!--Add this part-->onsubmit='return sendData()'<!--End of added part-->> 

Enter Message <textarea name="msg" id="msg"></textarea> 
<input type="submit" value="submit" /> 
</form> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script> 
function sendData(){ 
var msgVal = $("#msg").val(); 

$.ajax({ 
    data:"msg="+escape(msg), 
    url: $("#myform").attr("action"), 
    type: $("#myform").attr("method"), 
    success:function(){ 
     alert($("#msg").val()); 
    } 
}); 

return false; 

} 
</script> 
関連する問題