Javascript循环不';t工作(javascript新增)
我刚开始学习javascript循环,我创建了一个简单的第一个循环,但它不起作用,我不知道为什么 现在请尽量保持简单,因为我只是一个初学者,如果可能的话,尝试通过做简单的事情来纠正它,如果不只是告诉我,我会学习更多 如果输入文本的值为空,则代码应发送警报Javascript循环不';t工作(javascript新增),javascript,Javascript,我刚开始学习javascript循环,我创建了一个简单的第一个循环,但它不起作用,我不知道为什么 现在请尽量保持简单,因为我只是一个初学者,如果可能的话,尝试通过做简单的事情来纠正它,如果不只是告诉我,我会学习更多 如果输入文本的值为空,则代码应发送警报 <form name="myForm" runat="server" onsubmit="return myFunction()"> <div> First name<input type="text" i
<form name="myForm" runat="server" onsubmit="return myFunction()">
<div>
First name<input type="text" id="firstname" name="fname" />
<input type="submit" value="Submit" />
</div>
</form>
<script>
function myFunction() {
var x = document.forms["myForm"]["fname"].value;
var i = x.length;
for (var i = x.length; i = 0; i++) {
alert("asfasfas");
}
}
</script>
名字
函数myFunction(){
var x=document.forms[“myForm”][“fname”].value;
var i=x.长度;
对于(变量i=x.length;i=0;i++){
警报(“ASFAS”);
}
}
我做错了什么?您的循环可以分解为以下说明:
- 将
设置为i
x.length
- 如果
为真。。。哦。这是一个赋值,赋值是一个虚假的值。循环到此结束i=0
for( i=0; i<x.length; i++)
for(i=0;i你从i=x.length
开始,测试i=0
的时间。传统上,你从0
开始,测试i==x.length的时间。你还使用了=/code>(赋值)而不是=
(比较)。你确实希望for循环有三个主要部分:
for ([1. initiation];[2.condition];[3.step]) {
...
}
初始化:循环开始前执行一次
条件:每次在循环体之前执行,如果为false,则退出循环
步骤:每次循环后执行
在您的示例中,该条件始终返回false,因为i=0返回0,并且在javascript中被视为false
您可能想做的是:
for (var i=0; i<x.length; i++) {
alert("Found letter:"+x.charAt(i));
}
它通过相同的i
值重复相同的次数,但向后
我建议在此处阅读有关for循环的更多信息:
好的,有几件事
如果最好使用if语句(如果length=0,则抛出警报),则使用for循环
你没有行动。不确定这是否真的重要,但为了完成,我添加了一个
<form name="myForm" action="javascript:void(0);" onsubmit="return myFunction()">
<div>
First name<input type="text" id="firstname" name="fname" />
<input type="submit" value="Submit" />
</div>
</form>
<script>
function myFunction() {
var x = document.forms["myForm"]["fname"].value;
var i = x.length;
if (i == 0) {
alert("asfasfas");
}
}
</script>
名字
函数myFunction(){
var x=document.forms[“myForm”][“fname”].value;
var i=x.长度;
如果(i==0){
警报(“ASFAS”);
}
}
能否请您解释一下最后一部分+x.CharAt(i)JavaScript是区分大小写的。函数以小写开头。因此,它是x.CharAt(i)
。因为x
包含用户在输入字段中键入的字符串,x.CharAt(索引)
将在提供的索引处使用一个字符。因此,循环将逐字母显示字符串。如果您觉得有用,请向上投票。此代码不起作用,当我按submit时,警报将不会触发查看有关加载顺序的其他答案。如果您不先加载脚本,则函数可能不在符号表中。此在这个提琴中模拟了:我之所以使用for循环而不是if,是因为当我有一个包含很多变量的长表单时,例如7,我需要为每个可能发生的选项创建一个代码,例如所有7都是空的,比1-6都比2-7,比3-7+1,等等……我在这里写过
for (var i=x.length-1; i>=0; i--) {
alert("Found letter:"+x.charAt(i));
}
<form name="myForm" action="javascript:void(0);" onsubmit="return myFunction()">
<div>
First name<input type="text" id="firstname" name="fname" />
<input type="submit" value="Submit" />
</div>
</form>
<script>
function myFunction() {
var x = document.forms["myForm"]["fname"].value;
var i = x.length;
if (i == 0) {
alert("asfasfas");
}
}
</script>