离开if语句后重置Javascript变量
Javascript variable reset after leaving if statement?
我是C#背景javascript的新手,所以当我偶然发现以下情况时,我很感兴趣:
编辑:我已经收录了这期杂志的原文。警报文本显示为"未定义"。我查询无线电是否正确?
index.html
<html>
<head>
<script type="text/javascript" src="scripts.js"></script>
</head>
<body>
<form>
10 <input type="radio" name="group1" value="10"></br>
20 <input type="radio" name="group1" value="20"></br>
30 <input type="radio" name="group1" value="30"></br>
<input type="button" value="Submit" onclick="buttonPressed()">
</form>
</body>
</html>
scripts.js
function buttonPressed()
{
var radios = document.getElementsByName("group1");
var checkedRadio;
for(var i in radios)
{
if(radios[i].checked)
{
checkedRadio = i;
}
}
var tipAmount;
if(checkedRadio == 0)
{
tipAmount = 10;
}
if else(checkedRadio == 1)
{
tipAmount = 20;
}
if else(checkedRadio == 2)
{
tipAmount = 30;
}
alert(tipAmount);
}
为什么alertText未定义?
感谢
JavaScript没有块作用域,只有函数作用域。所以你给我们的代码会起作用的。
这段代码应该可以工作,我建议您下载Firebug
,这样您就可以访问脚本,并在第一行放置一个断点,然后按F10
对每一行进行调试,您应该很快找到错误或告诉我们它的作用。
你能试试这样的循环吗
for( i = 0; i < radios.length; i++ )
{
if(radios[i].checked)
{
checkedRadio = i;
}
}
此外,您可以使用复选框中的值,而不是对提示进行硬编码。
你有jquery吗?
你可以做一些简单的事情,比如这个
$('.group1:checked').each(function() {
tip = this.val();
});
相关文章:
- 将函数的上下文应用于javascript变量
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript变量赋值|
- 限制javascript变量的最小/最大整数
- 来自文本输入null的html javascript变量
- 访问jsrender模板中的全局javascript变量并更新它
- 从数据库中获取数据并插入JavaScript变量
- 如何将javascript变量传递到Meteor Spacebars模板中
- 将JavaScript变量保存到Rails模型
- 在if语句下的html中使用javascript变量
- Javascript变量分配-按类别
- 操作javascript变量[HTML]以只显示文本
- 无法比较javascript变量
- 如何将smarty变量与javascript变量进行比较
- 如何使用PHP将javascript变量添加到mysql数据库中
- Javascript 变量使用 jquery 查找变量
- 重新加载页面时Javascript变量发生变化
- 在asp classic中使用javascript变量
- 全局Javascript变量变为null
- 如何向服务器端提交javascript变量