我希望在ajax成功后更改输入值,我会做下一步:
在我使用的函数顶部:
var input = document.getElementById("input_id").value;
后来ajax成功我接下来尝试过但不起作用:
input = 'test value';
我做错了什么?
答案 0 :(得分:3)
分配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
获取或设置它。
答案 1 :(得分:3)
您使用的变量input
是声明时输入字段的EXACT值。它不是对输入字段value
属性的引用。
您应该只使用对input
元素的引用,然后像这样设置其值 -
var input = document.getElementById("input_id");
// Do some ajax call
input.value = 'test value'
答案 2 :(得分:3)
您需要使用document.getElementById("input_id");
来获取input元素的引用,然后可以使用该元素来设置值或操作input元素。使用input.value = 'test value';
为此输入元素指定值。因此,当您将值赋给input元素本身的值时,代码中的错误。
//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 :(得分:1)
如果您尝试更改input field
的值,那么这应该可以正常工作
document.getElementById("input_id").value = "test-value";