2016-05-24 10 views
-3
<span class="semi-bold result-name">Search</span> 

は、基本的にjavascriptを使用しています。テキストボックスに入力すると、テキストボックスに入力された単語が置き換えられます。スパンクラスのURLを作成する

これもPHPの文字列を更新する方法ですか?

$target = "Result here"; 

これがうまくいけばうまくいきます。

+2

ajaxを使用せずにクライアント側のPHP変数を更新することはできません.Ajaxを使用しない場合は、検索したコンテンツを提出するフォームを使用してください。 –

答えて

4

短い:なし

長い:JavascriptをPHPは、サーバー側である一方で、ページがブラウザに提供される前に、すべてのPHPコードをサーバー上で実行され、クライアント側です。ページが提供された後、クライアント/ブラウザは、提供されたhtml(サーバ上で実行されるPHPの結果)とjavascriptを実行します。 javascriptが実行されている時点ではPHPは長い間実行されているからです。

php変数を更新することはできませんが、ajaxを使用してget/postを使用して値をサーバーに返すことができます。あなたは、セッション変数に値を代入したり、データベースに保管するためにPHPを使用することができますが、それは別の実行上のPHPで扱うになります

編集:質問は少し言い換えたよう に見えます、ので、ここであなたが正しい方向に行くを取得する必要がありますいくつかの基本コードは、このコードはphpfiddle.org

<?php 
if(isset($_GET['search'])){ 
    //do your code here 
    echo 'results for '. $_GET['search']; 
}else{ ?> 
<script> 
    //obj for ajax calls 
    var http = new XMLHttpRequest(); 
    //onload 
    onload = function(){ 
     //text change 
     var e = document.getElementById('searchbox'); 
     e.oninput = myHandler; 
     e.onpropertychange = e.oninput; // for IE8 
    } 
    myHandler = function(){ 
     http = new XMLHttpRequest(); 
     http.open("GET", "?search="+document.getElementById('searchbox').value, true); 
     http.onload = function() { 
      document.getElementById('result').innerHTML = http.responseText; 
     } 
     http.send(); 
    } 
</script> 
<label>search</label><input type=text id=searchbox /><br /> 
<div id=result></div> 
<?php } ?> 
+0

このコードはすごく驚きです。私たちのような低すぎる少数の人たちは、このようなコードのアップボントをすべて取得しません。私はこのコードに基づいてアプリケーションを構築しています。ありがとう –

0

に貼り付ける場合は、AJAX経由でそれを行う可能性が動作します。あなたの検索語をajax経由でサーバー側の関数を処理する関数に送ります。関数は$ targetに検索語を代入します。変更された値をサーバー側に送信し、値が変更されるたびに$ targetに保存するには、onkeypressまたは別の対応するイベントを使用する必要があります。