JS:将输入的每个单词的首字母大写
JS: Capitalize first letter of every word entered into input
下面的html & javascript 需要在输入字段中输入文本,并在点击提交时将每个单词的首字母大写。它无法正常工作,我想知道我哪里出错了?
<script>
function myFunction() {
var words;
words = str.split(" ");
for (var i=0 ; i < words.length ; i++){
var testwd = words[i];
var firLet = testwd.substr(0,1);
var rest = testwd.substr(1, testwd.length -1)
words[i] = firLet.toUpperCase() + rest
}
document.write( words.join("demo"));
}
</script>
<!DOCTYPE html>
<html>
<body>
<p>Book Title</p>
<input id="words" value="18" />
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
</body>
</html>
我正在寻找一个纯粹的 Javascript 解决方案。
将var words;
替换为var words = document.getElementById("words");
//快速帮助
你需要做这样的事情:
function myFunction(){
var words = document.getElementById("words").value.split(" ");
var content = "";
for (var i = 0; i < words.length; i++) {
content += words[i].substr(0, 1).toUpperCase() + words[i].substr(1, words[i].length - 1);
if(i<words.length-1)
content += " ";
}
document.getElementById("demo").innerText = content;
}
类似下面的内容?
function myFunction() {
document.getElementById('target').value = document.getElementById('target').value.replace(/\b[a-z]/g, function(a) { return a.toUpperCase(); });
};
<input id="target" />
<button id="do" onclick="myFunction()">Go!</button>
这是如何运作的
所以首先我们检测按钮何时被点击。然后我们将值设置为其原始值但是...我们得到一个单词的第一个字母,然后将其大写。
就这么简单!
你很接近!继续。
首先 - 要使用本机 Javascript 从文本框中获取值,您需要使用
document.getElementById("words").value;
您应该将其设置为 words
变量。我没有看到 str
的用途,但实际上您可以在 str.split(" ");
处将其替换为 words
这里是完整的示例代码:
(请记住,使用 document.write() 你是在整个页面上书写......通常人们只是将值插入其他地方,所以你仍然可以在显示动态输出的同时维护页面)
<!DOCTYPE html>
<html>
<body>
<script>
function myFunction() {
var words = document.getElementById('words').value;
words = words.split(" ");
for (var i=0 ; i < words.length ; i++){
var testwd = words[i];
var firLet = testwd.substr(0,1);
var rest = testwd.substr(1, testwd.length -1)
words[i] = firLet.toUpperCase() + rest
}
document.write( words.join("demo"));
}
</script>
<p>Book Title</p>
<input id="words" value="18" />
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
</body>
</html>
使用以下方法将每个拆分的单词传递到您的 for 循环中并再次与“”连接:
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
检查Fiddle:http://jsfiddle.net/w7gceumz/
下面的html & javascript 需要在输入字段中输入文本,并在点击提交时将每个单词的首字母大写。它无法正常工作,我想知道我哪里出错了?
<script>
function myFunction() {
var words;
words = str.split(" ");
for (var i=0 ; i < words.length ; i++){
var testwd = words[i];
var firLet = testwd.substr(0,1);
var rest = testwd.substr(1, testwd.length -1)
words[i] = firLet.toUpperCase() + rest
}
document.write( words.join("demo"));
}
</script>
<!DOCTYPE html>
<html>
<body>
<p>Book Title</p>
<input id="words" value="18" />
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
</body>
</html>
我正在寻找一个纯粹的 Javascript 解决方案。
将var words;
替换为var words = document.getElementById("words");
//快速帮助
你需要做这样的事情:
function myFunction(){
var words = document.getElementById("words").value.split(" ");
var content = "";
for (var i = 0; i < words.length; i++) {
content += words[i].substr(0, 1).toUpperCase() + words[i].substr(1, words[i].length - 1);
if(i<words.length-1)
content += " ";
}
document.getElementById("demo").innerText = content;
}
类似下面的内容?
function myFunction() {
document.getElementById('target').value = document.getElementById('target').value.replace(/\b[a-z]/g, function(a) { return a.toUpperCase(); });
};
<input id="target" />
<button id="do" onclick="myFunction()">Go!</button>
这是如何运作的
所以首先我们检测按钮何时被点击。然后我们将值设置为其原始值但是...我们得到一个单词的第一个字母,然后将其大写。
就这么简单!
你很接近!继续。
首先 - 要使用本机 Javascript 从文本框中获取值,您需要使用
document.getElementById("words").value;
您应该将其设置为 words
变量。我没有看到 str
的用途,但实际上您可以在 str.split(" ");
words
这里是完整的示例代码: (请记住,使用 document.write() 你是在整个页面上书写......通常人们只是将值插入其他地方,所以你仍然可以在显示动态输出的同时维护页面)
<!DOCTYPE html>
<html>
<body>
<script>
function myFunction() {
var words = document.getElementById('words').value;
words = words.split(" ");
for (var i=0 ; i < words.length ; i++){
var testwd = words[i];
var firLet = testwd.substr(0,1);
var rest = testwd.substr(1, testwd.length -1)
words[i] = firLet.toUpperCase() + rest
}
document.write( words.join("demo"));
}
</script>
<p>Book Title</p>
<input id="words" value="18" />
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
</body>
</html>
使用以下方法将每个拆分的单词传递到您的 for 循环中并再次与“”连接:
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
检查Fiddle:http://jsfiddle.net/w7gceumz/