我有一个输入框,我希望在输入框中键入文本后动态更改变量值,但不按任何按钮,仅在文本更改时。 例如:
Input box= $5
$text= input box value * 2
任何人都知道如何做到这一点?
编辑:我知道我必须使用JavaScript,但我不擅长它而且我不知道如何编写代码。EDIT2:我有这张桌子:
<tr>
<td>Mogući dobitak:</td>
<td colspan='2'>" . $dobitak . "</td>
</tr>
<tr>
<td>Ulog:</td>
<td><input type='text' id='ulog' name='ulog' size='10' value='1' ></td>
<td><input type='submit' name='submit' value='Uplati'></td>
</tr>
因此,在输入框(id ='ulog')中输入值(默认值为1)后,我想更改变量&amp; dobitak。 让我们说,对于这种情况,输入框值= $ dobitak(我稍后会添加* 2)。
答案 0 :(得分:1)
你不能直接在PHP中这样做,因为它只在服务器上运行;即,它不知道用户何时与网页交互。相反,您可以使用AJAX方法。它将使用客户端脚本(例如JavaScript)来检测文本何时更改,然后向服务器发送请求。服务器处理数据并返回响应。
重要的是要注意,这不能改变已经运行的PHP脚本中的变量。它只能在脚本开头提供数据。
答案 1 :(得分:0)
使用对每个textchange事件触发的服务器的ajax调用
答案 2 :(得分:0)
你不能只使用PHP,因为它适用于服务器端,而不是客户端。 所以你必须使用javascrpit拦截这个动作。我认为这更好。
答案 3 :(得分:0)
PHP是一种服务器sidde脚本语言,它创建一个HTML然后终止,并且在生成html之后它不知道客户端发生了什么。只有在向其发送请求时它才会响应。 要在HTML中的事件之后发送请求,您必须使用如下的ajax:
<script src='http://code.jquery.com/jquery-1.9.1.js'></script>
<input type='text' id="text" onblur="change()" />
<script>
function change() {
var text = $("#text").val();
$.post('1.php',{text:text},function(e){
$("#text").val(e);
});
}
</script>
<?php
if($_POST['text']){
die($_POST['text']." --- changes"); //or whatever changes that you want to do
}
?>
它将“ ---更改”添加到输入模糊的输入值的末尾,您可以进行所需的任何更改。