javascript - 在JS中动态改变表单的值

标签 javascript greasemonkey

Here 是一个示例 jsFiddle。我有两个字段.. opp3 和 opp4。用户可以修改 opp4 中的文本,但我希望 opp3 中的文本在用户更改 opp4 中的文本时动态更改。

我看到 this 动态更改文本的解决方案,但我不能完全使用它,因为我正在创建一个 greasemonkey 脚本(并且不能编辑 html,只能添加 JS)并且我只想更改字段的一部分,而不是整个字段。

HTML:

<input id="opp3" maxlength="120" name="opp3" size="40" tabindex="1" type="text" style="cursor: auto; background-attachment: scroll; background-position: 100% 50%; background-repeat: no-repeat;" readonly>

<br><br>

<input autocomplete="off" id="opp4" maxlength="255" name="opp4" onchange="getElementByIdCS('opp4_lkid').value='';getElementByIdCS('opp4_mod').value='1';" size="40" tabindex="2" type="text">

JS:

document.getElementById('opp3').value = "Text <VALUE FROM OPP4> More Text";
document.getElementById('opp4').value = "Field Text Here";

最佳答案

您可以在 opp4 输入上使用事件监听器来实现此目的。

var opp3 = document.getElementById('opp3')
opp3.value = "Text <VALUE FROM OPP4> More Text";
var opp4 = document.getElementById('opp4')
opp4.value = "Field Text Here";

opp4.addEventListener('input', function () {
    opp3.value = this.value;
});
<input id="opp3" maxlength="120" name="opp3" size="40" tabindex="1" type="text" style="cursor: auto; background-attachment: scroll; background-position: 100% 50%; background-repeat: no-repeat;" readonly>
    
   <br><br>
       
       <input autocomplete="off" id="opp4" maxlength="255" name="opp4" size="40" tabindex="2" type="text">

关于javascript - 在JS中动态改变表单的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27714386/

相关文章:

javascript - 使用 Twig 和 Symfony2 在 javascript 中生成路由

javascript - 如何阻止Google的地理编码警报状态消息?

javascript - 隐藏文本并添加一个按钮以使其显示

javascript - 使用greasemonkey或tampermonkey触发键盘事件

javascript - 使用 Greasemonkey 在现有元素之前插入文本节点时出现问题

javascript - 如何在 javascript 单元测试中模拟数据?

javascript - 哪个建议最适合根据用户视口(viewport)调整布局?

javascript - 从 DOM 中提取和替换文本的通用方法

javascript - 如何使用 confirm() 将整个网页更改为全屏?

javascript - 鼠标悬停时替换部分 URL 以获取原始尺寸图像