我从像这样的textBox中获取我的字符串(在索引递增的循环中):
var name = document.getElementById("TextBox" + index).value;
我的脚本中有一个函数看起来像是大写的第一个字母:
function capital(string)
{
return string.charAt(0).toUpperCase() + string.slice(1);
}
并试着像这样使用它:
var name = document.getElementById("TextBox" + index).value;
capital(name);
它们在同一script
标记中具有不同的功能。我哪里错了?
答案 0 :(得分:5)
确保将修改后的值分配回控件:
var element = document.getElementById("TextBox" + index);
var name = element.value;
element.value = capital(name);
答案 1 :(得分:0)
字符串在js中是不可变的,您需要重新分配。
var name = capital(document.getElementById("TextBox" + index).value);
Plus字符串按值传递,因此它们被复制到新函数。因此,无论你在函数中做什么都不会对你的名字变量产生任何影响。
答案 2 :(得分:0)
您是否尝试使用输入类型getElementById,或者您的文本框中是否有名为“TextBox”的实际ID?以下工作正常,see fiddle
var index = 1;
var name = document.getElementById("test" + index).value;
function capital(str)
{
return str.charAt(0).toUpperCase() + str.slice(1);
}
alert(capital(name));