gpt4 book ai didi

javascript - For 循环只运行一次

转载 作者:行者123 更新时间:2023-11-30 15:20:00 33 4
gpt4 key购买 nike

在下面的程序中,由于某种原因,for循环运行了一次,之后就不再重复了。我相信错误在于粗体代码。非常感谢您的帮助。这是一个用于将文本框更改为大写、首字母大写等的程序。首字母大写是每个单词的首字母大写。谢谢。

    <html>
<head>
<script type="text/javascript">

function titlize(){
tLength=tBox.box.value.length
character=new Array()
for(i=1; i<tLength+1; i++){
**character[i]=tBox.box.value.slice(i-1,i)**
document.write(character[i])
if(i==1){
character[i]=character[i].toUpperCase()
}else if(character[i-1]==" "){
character[i]=character[i].toUpperCase()
}else{
character[i]=character[i].toLowerCase()
}
document.write(i)
document.write(character[i])
}
}

function upperC (){
toUpperCase(tBox.box.value)
}

function verify (){
if(tBox.uppercase.checked){
tBox.box.value=tBox.box.value.toUpperCase()
}
if(tBox.lowercase.checked){
tBox.box.value=tBox.box.value.toLowerCase()
}
if(tBox.titlecase.checked){
titlize()
}
if(tBox.uppercase.checked){
tBox.box.value=tBox.box.value.toUpperCase()
}

}

</script>
</head>
<body>
<form name="tBox">
<input type="text" name="box" value=""><br>
<input type="checkbox" name="uppercase" onClick=verify(this.form)>Uppercase<br>
<input type="checkbox" name="lowercase" onClick=verify(this.form)>Lowercase<br>
<input type="checkbox" name="titlecase" onClick=verify(this.form)>Titlecase<br>
</form>
</body>
</html>

最佳答案

tBox 是您的 form 而不是您的文本框,因此尝试获取它的值然后该值的长度是无效的。该代码需要访问您的文本框,因此它应该是:

   // Scan for the first textbox. Give that textbox a unique id to be 
// able to write a more specific query.
tLength= document.querySelector("input[type='text']").value.length;

character=new Array()

// Not sure why you were writing: i < tLength +1 as that will
// cause your loop to go one character too far. Remember,
// arrays start from 0 and length starts from 1.
for(i=1; i < tLength; i++){

最后,避免使用 document.write(),因为如果您在已完成解析的文档上使用它,它会导致整个现有文档被丢弃。

关于javascript - For 循环只运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43877940/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com