有谁知道如何让ajax从选择输入更新文本。
我的意思是,如果您选择(表单 - >输入)某些内容,它将更新/显示在<span>
或其他内容中。
这就是我所拥有的:
<?php
echo '<select name="test">';
for ($i=0; $i <= 20; $i++) {
echo '<option value="'.$i.'">'.$i.'</option>';
}
echo "</select>";
?>
在<script>
:
<script>
function upperCase()
{
var A = document.getElementById('test').value;
var B = document.getElementById('txtHint1').value;
C = A * B
document.getElementById('result').value = C;
}
</script>
我要在哪里展示它:
<span id="txtHint1" onchange="upperCase()"></span>
我希望你理解我。
答案 0 :(得分:0)
我假设这是你的情景:
首先,你不需要ajax就可以做到这一点,只需要JavaScript,我相信你的意思。接下来,您不希望在'txtHint1'范围内进行更改,因为那里没有任何改变。您希望onchange位于“select”元素上。你的代码非常接近。
function upperCase()
{
var a = document.getElementById('test').value;
var b = document.getElementById('txtHint1').value;
var c = a * b;
document.getElementById('result').value = c;
}
<select name="text" onchange="upperCase()">YOUR PHP CODE<select>
我没有对此进行测试,但它应该有效。
答案 1 :(得分:0)
我在原始问题中看到了几个错误。第一个是:
echo "<select name="test">;
由于它是双引号字符串,因此您需要在测试周围转义双引号,或用单引号括起字符串。你也错过了一个收盘报价。应该看起来像这样:
echo '<select name="test">';
此外,不是将onchange事件绑定到要显示结果的位置,而是将其绑定到更改时希望JavaScript执行的元素。在这种情况下,那将是您的选择。现在我们要做到这一点:
echo '<select name="test" onchange="upperCase()">';
这一行:C = A * B
应该更像:
var C = A * B;
此外,您的代码正在尝试设置ID为result
的元素的值。根据您的帖子,您似乎可能希望将其更改为txtHint1
。