使用 Javascript 更改输入文本值不会更改显示

Bla*_*ppo 5 javascript

我正在尝试input根据用户操作更改文本字段的值。我是这样做的:

document.getElementById(textFieldID).value = newValue;
Run Code Online (Sandbox Code Playgroud)

它不是很有效——字段中的原始文本保留在屏幕上,没有改变。但是,当我提交表单时,它的行为好像确实正确更改了值。(并且调试alert确认是的,我正在点击代码中的那一点并传入正确的字段 ID 和文本值。)有人有任何见解吗?我需要做些什么来重绘input元素吗?


编辑: 根据 Jeff B 的要求,以及这似乎让每个人都难倒的事实,这里有一些相关的代码:


<script LANGUAGE="JavaScript" TYPE="text/javascript">
   function changeText(changeSelector)
   {
      var myindex  = document.getElementById(changeSelector+"Recent").selectedIndex;
      var SelValue = document.getElementById(changeSelector+"Recent").options[myindex].value;
      document.getElementById(changeSelector).value = SelValue;
      document.getElementById("historicalText").value = SelValue;
      document.getElementById("historicalTextSelect").value = changeSelector;
   }
</script>

<input onChange="updateScrollingPreview1217(this); return true;" type="text" id="crawlMsg1217" name="crawlMsg1217" size="60" maxlength="1000" value="">

<select id="crawlMsg1217Recent" name="crawlMsg1217Recent" onchange="javascript:changeText('crawlMsg1217');">
[options go here]
</select>
Run Code Online (Sandbox Code Playgroud)

而那个“onChange”处理程序并不是阻碍工作的原因;无论有没有它,我都会得到相同的行为。


编辑 2: 看起来问题是由我们产品使用的第三方拼写检查器“JSpell”引起的。(我被告知客户更喜欢使用它而不是浏览器内置的拼写检查;去图。)它在我的测试机器上似乎配置有误,所以我将尝试解决这个问题并祈祷它会出现问题离开。如果没有……应该很有趣。
编辑3:是的 。Fscking JSpell。为了子孙后代,刚刚发布了一个完整的答案,明天我被允许时会接受它。感谢所有试图提供帮助的人;+1 到处都是,希望我能提供更多。

Bla*_*ppo 3

我已经确认罪魁祸首确实是 JSpell,并且确切的问题点是这一行:

window.onload=jspellInit;

尽管在上面的编辑 2 中提到了祈祷,但确保其配置正确并不能解决问题。而这一行对于 JSpell 的功能来说是不可或缺的。我不知道 JSpell 是否总是以这种方式管理 Javascript 功能,或者是否存在某种完美的因素导致它与我的页面发生冲突,但这确实是我的问题的根源。

我感谢所有试图提供帮助的人。就获得正确答案而言,这显然有点双赢,因为它是由一个看似完全不相关的组件引起的,因此我没有提到,但你至少证实了我是(在理论)做正确的事而不是简单地发疯。