请考虑以下代码段:
inputTextField=document.getElementById("Phone_input");
var value = inputTextField.value;
value=value.substring(0,10);
其中Phone_input
是<input type="text"/>
元素。为什么在运行此脚本期间,<input type="text"/>
的实际值没有变化。我们通过引用来更改值,该引用指示inputTextField.value
。
答案 0 :(得分:2)
变量value
不是引用,因此在更改后您必须将其写回文本字段:
value=value.substring(0,10);
inputTextField.value = value;
或者,在一行中:
inputTextField.value = inputTextField.value.substring(0,10);
答案 1 :(得分:0)
Javascript总是按值传递,但在数组或对象中,值是对它的引用,因此您可以“更改”内容。 在这种情况下,你必须这样做:
var inputTextField=document.getElementById("Phone_input");
inputTextField.value = inputTextField.value.substring(0,10);