使用Javascript更改输入值,语法正确[重复]
Posted
技术标签:
【中文标题】使用Javascript更改输入值,语法正确[重复]【英文标题】:Change input value with Javascript, correct syntax [duplicate] 【发布时间】:2018-10-31 21:32:52 【问题描述】:我想在ajax成功后更改输入值,我下一步:
在我使用的函数的顶部:
var input = document.getElementById("input_id").value;
后来我尝试了ajax成功但没有成功:
input = 'test value';
我做错了什么?
【问题讨论】:
你能把代码部分发给你吗 详细说明为什么您的版本不起作用:数字和字符串在 javascript 中按值传递。您的input
变量不会引用原始输入值,只有来自它的值
“不起作用”?什么都没发生?或发生错误?错误说明了什么?
【参考方案1】:
分配var input = document.getElementById("input_id").value;
后,input
变为字符串,不再是对输入字段的实时引用。
您可以执行document.getElementById("input_id").value = 'test value'
之类的操作。
或者,您可以通过 var input_element = document.getElementById("input_id")
保留对它的引用,然后通过 input_element.value
获取或设置它。
【讨论】:
【参考方案2】:您需要使用document.getElementById("input_id");
来获取输入元素的引用,然后可以使用该引用设置值或操作输入元素。使用input.value = 'test value';
为该输入元素赋值。因此,当您将值分配给输入元素本身的值时,这在您的代码中是错误的。
//get the reference of the input element
var input = document.getElementById("input_id");
//assign value to this input element
input.value = 'test value';
<input id='input_id' type='text' />
【讨论】:
【参考方案3】:您使用的变量input
是声明时输入字段的精确值。它不是对输入字段的value
属性的引用。
您应该只使用对input
元素的引用,然后像这样设置它的值-
var input = document.getElementById("input_id");
// Do some ajax call
input.value = 'test value'
【讨论】:
【参考方案4】:如果您尝试更改 input field
的值,那么这应该可以工作
document.getElementById("input_id").value = "test-value";
【讨论】:
以上是关于使用Javascript更改输入值,语法正确[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何读取 JSON 文件、更改一些值并保存它。使用 FS/Javascript [重复]