创建一个包含span类的URL

时间:2016-05-24 06:54:31

标签: javascript php html

<span class="semi-bold result-name">Search</span>

是我的代码的一部分,基本上是使用javascript - 当你在文本框中输入时,单词搜索会被替换为文本框中输入的内容。

有没有办法让它也更新php字符串?

$target = "Result here";

希望这是有道理的。

2 个答案:

答案 0 :(得分:4)

简短:没有

long: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 } ?>

答案 1 :(得分:0)

你可以通过ajax做到这一点。通过ajax将搜索词发送到服务器端处理函数,然后将搜索词分配给$ target。您可能必须使用onkeypress或其他相应的事件,以便将更改后的值发送到服务器端,并在每次更改值时将其保存在$ target中。