Javascript Can';t首字母大写,元素未更新

Javascript Can';t首字母大写,元素未更新,javascript,html,string,Javascript,Html,String,我从这样的文本框中获取字符串(在索引递增的循环中): 我的脚本中有一个函数,看起来像是大写的第一个字母: function capital(string) { return string.charAt(0).toUpperCase() + string.slice(1); } 试着这样使用它: var name = document.getElementById("TextBox" + index).value; capital(name); 它们在同一脚本标记中具有不同的功能。哪里

我从这样的文本框中获取字符串(在索引递增的循环中):

我的脚本中有一个函数,看起来像是大写的第一个字母:

function capital(string)
{
    return string.charAt(0).toUpperCase() + string.slice(1);
}
试着这样使用它:

var name = document.getElementById("TextBox" + index).value;
capital(name);

它们在同一
脚本
标记中具有不同的功能。哪里出错了?

确保将修改后的值重新分配给控件:

var element = document.getElementById("TextBox" + index);
var name = element.value;
element.value = capital(name);

确保将修改后的值分配回控件:

var element = document.getElementById("TextBox" + index);
var name = element.value;
element.value = capital(name);

字符串在js中是不可变的,需要重新分配

var name = capital(document.getElementById("TextBox" + index).value);

Plus字符串按值传递,因此它们被复制到新函数中。因此,无论在函数中执行什么操作,都不会对name变量产生任何影响。

字符串在js中是不可变的,需要重新赋值

var name = capital(document.getElementById("TextBox" + index).value);

Plus字符串按值传递,因此它们被复制到新函数中。因此,在函数中执行的任何操作都不会对name变量产生任何影响。

您是在尝试使用输入类型获取ElementById,还是在名为“textbox”的文本框中有实际ID?下面的工作很好


您是在尝试使用输入类型获取ElementById,还是在名为“textbox”的文本框上有实际ID?下面的工作很好


从表面上看,这似乎是合法的。。您在哪里尝试实际应用更改,返回的结果是
大写(名称)
?您是尝试使用输入类型
getElementById
,还是在名为“textbox”的文本框上有实际ID?从表面上看,这似乎是合法的。。您试图在哪里实际应用更改,即
大写(名称)
的返回结果?您试图使用输入类型
getElementById
,还是在名为“textbox”的文本框上有实际ID?