2017-02-24 7 views
1

私はデータベースAjaxを使用してデータベースからデータを返すようにPHP呼び出しを行います。呼び出しは必要なデータを返しますが、ページが完全にロードされると<div>タグ値がクリアされます。ページが完全にロードされると除外される

divタグがPHPファイルのechoの値を保持するように、構文を変更する必要があるのは何ですか?私はコンソールをチェックして、ページのロード情報とこの問題に関連するものは表示していません(少なくとも私が見たものではない)。

<form id="form1" method="post"> 
<div id="results">&nbsp;</div> 
<div style="padding-top: 10px;"><input type="submit" value="Submit" onclick="MakeQuery()" /></div> 
<script type="text/javascript"> 
var xhttp; 
function MakeQuery() 
{ 
if (window.XMLHttpRequest) {  
    xhttp = new XMLHttpRequest(); 
} else if (window.ActiveXObject) { 
    xhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 
    xhttp.onreadystatechange = function(){ if (xhttp.readyState == 4 && xhttp.status==200) 
    { document.getElementById("results").innerHTML = xhttp.responseText; } } 
    xhttp.open("GET", "SQLQuery.php", true); 
    xhttp.send(); 
} 
</script> 
</form> 
+0

)、ブラウザはフォームを送信し、サーバーからの応答を新しい文書として表示します。 – CBroe

+0

(または、代わりに_submit_ボタンを使用してスクリプト機能を起動させないでください) – CBroe

+0

私が見つけたことは、ボタンを送信またはリセットとして使用できることです。私はそれがリセットであることを望んでいない、私はそれが提出であることを望んでいないように見える。 – BellHopByDayAmetuerCoderByNigh

答えて

0

は、私はあなたが実際のフォームは、AJAXを使用する前に提出防ぐために必要があると思う:あなたは(どのようにそれを行うための研究を行って実際のフォーム送信を防止することを怠っているため

var xhttp; 
 

 
function MakeQuery(event) { 
 
    event.preventDefault(); // Cancel form submit, use AJAX 
 

 
    if (window.XMLHttpRequest) { 
 

 
    xhttp = new XMLHttpRequest(); 
 
    } else if (window.ActiveXObject) { 
 
    xhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
 
    } 
 
    xhttp.onreadystatechange = function() { 
 
    if (xhttp.readyState == 4 && xhttp.status == 200) { 
 
     document.getElementById("results").innerHTML = xhttp.responseText; 
 
    } 
 
    } 
 
    xhttp.open("GET", "SQLQuery.php", true); 
 
    xhttp.send(); 
 
}

+0

これは機能しますが、ボタンはハイライト表示されたままになります。クリックした後にボタンを「通常」に戻す方法はありますか?それはページ上の他の場所をクリックするまで強調表示されたままです。 – BellHopByDayAmetuerCoderByNigh

+1

@BellHopByDayAmetuerCoderByNighはい、document.getElementById( "buttonid")。blur()のようにボタンのフォーカスをぼかします。 または、ボタン「this」コンテキストをパラメータとして渡すことができます。 詳細はこちらhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/blur – Riddell

関連する問題