2016-06-16 13 views
-1

私はDreamweaver cs5で作業しています。つまり、PHPが自動的に作成されます。私はいくつかのPHPを知っているが、私は、送信ボタンをクリックすると、ページが再読み込みされないようにする方法を見つけ出すことはできません。私はちょうど爽快がちょうど迷惑になるチャットサービスを作っているので、それをリフレッシュしたくない。 MySQLデータベースに情報を送る PHPの:ページがリフレッシュされないようにするには

$editFormAction = $_SERVER['PHP_SELF']; 
if (isset($_SERVER['QUERY_STRING'])) { 
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); 
} 

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "send")) { 
$insertSQL = sprintf("INSERT INTO chat (chat_info, person_id, chat) VALUES (%s, %s, %s)", 
        GetSQLValueString($_POST['chatid'], "text"), 
        GetSQLValueString($_POST['personid'], "text"), 
        GetSQLValueString($_POST['chat'], "text")); 

mysql_select_db($database_LVGSChat, $LVGSChat); 
$Result1 = mysql_query($insertSQL, $LVGSChat) or die(mysql_error()); 
} 

HTMLフォーム:私はボタンに提出するからタイプを変更しようとしたが、それだけで全体のスクリプトを停止

<form method="POST" action="<?php echo $editFormAction; ?>" name="send" id="send"> 
    <input name="chat" type="text" id="sendtext" placeholder="Skriv en melding..." /> 
    <input type="button" id="sendbutton" value="" name="submit"/> 
    <input type="hidden" value="<?php do { ?><?php 
    if (strtolower($row_medlemmer['brukernavn']) == strtolower($_SESSION['MM_Username'])) { 
     echo $row_medlemmer['medlemmer_id'];} 
    ?><?php } while ($row_medlemmer = mysql_fetch_assoc($medlemmer)); ?>" name="personid" /> 

    <input type="hidden" value="3" name="chatid" /> 
    <input type="hidden" name="MM_insert" value="send" /> 
</form> 

+0

次にajaxを使用してください。 – nicael

+0

@nicael私はajaxに関する経験はありません...このスクリプトにajaxを実装する方法を示すことができますか? :P –

+0

@ReinBentdal私の答えを見て、私はいくつかのリンクを含んでいます。 – KFE

答えて

0

これは一般的な問題で、jQueryを使用して修正することができます。あなたが探しているのは、AJAXフォームの送信です。 jQueryに慣れていない場合は、here is a jquery getting started guide

文書のhead/footにjQueryスクリプトを追加したら、AJAXフォームの送信を行うことができます。情報を再ハッシュしないためには、check out this tutorial from scotch.io on AJAX Form submits。そのチュートリアルでは、あなたのためにそれをすべて打ち破ります。

あなたが探している主なものは、ボタンがクリックされたときにpreventDefault()をjavascriptに呼び出すことです。

0

ページをリフレッシュするのを防ぐ2つの方法。

1)put javascript :;フォームアクションで。 2)javascriptまたはjqueryを使用し、ajaxを使用してデータを渡します。私はjQueryのサンプルコードを共有しています。

$("formID").on("click",function(e){ 
     e.preventDefault(); 
    ----another code to send data with ajax--- 
    }); 
+0

お世話になりました!しかし、私はあなたがしていることをよく理解していませんでした。このコードは文書のどこに置かれ、どのように使用されるべきですか?私はjavascriptの経験がほとんどありません:P –

+0

custom.jsという名前のファイルを作成するか、任意の名前を付けてそのファイルをフッターに組み込むことができます。それでおしまい。そのファイルにサイト用のjsコードを追加できます。 –

関連する問題