使用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更改输入值,语法正确[重复]的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式检测语法正确的 URL [重复]

使用纯javascript检测更改的输入文本框[重复]

如何使用Javascript等待值在html中更改[重复]

如何读取 JSON 文件、更改一些值并保存它。使用 FS/Javascript [重复]

如何重复 JavaScript 表单验证,直到所有输入都正确,然后将输入插入数据库?

当搜索过滤器值从javascript更改时,智能表不会更新[重复]