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

является частью моего кода, в основном с использованием javascript - при вводе текстового поля поиск слова заменяется на то, что когда-либо набирается в текстовом поле.Создать URL-адрес с классом span

есть ли способ сделать это также обновить строку php?

$target = "Result here"; 

надеюсь, это имеет смысл. не

+2

Вы не можете обновлять любую переменную php на стороне клиента без использования ajax. Без использования ajax вы должны использовать форму, которая отправляет содержимое, которое вы искали, и делать все, что вам нравится, с отправленными данными. –

ответ

4

коротко: нет

долго: браузер на стороне клиента, а PHP является на стороне сервера, весь код PHP выполняется на сервере, прежде чем страница подается в браузер. после того, как страница была подана, клиент/браузер выполняет обслуживаемый html (результат выполнения php на сервере) и javascript. так как к моменту запуска javascript php работает долго.

хотя вы не можете обновить переменную php, вы можете использовать ajax для отправки значения обратно серверу с помощью get/post. то вы можете использовать PHP для присвоить значение переменной сеанса или сохранить его в базе данных, но это будет на обрабатываются PHP на другом исполнении

Edit: выглядит как вопрос был перефразировать немного, так вот некоторый базовый код, который вы должны получить идете в правильном направлении, и этот код будет работать, если вставить в 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. Возможно, вам придется использовать onkeypress или другое соответствующее событие, чтобы отправить измененное значение на серверную сторону и сохранить его в $ target, когда каждый раз при изменении значения.

Смежные вопросы