简单的Javascript问题
当我点击按钮时,第一次,一切正常,但第二次,没有任何反应。 这是为什么?
<form name="alert"><input type="text" name="hour"><input type="text" name="min"><input type="button" value="ok" onclick="budilnik(this.form)">
<script type="text/javascript">
function budilnik(form)
{
budilnik=1;
min=form.min.value;
hour=form.hour.value;
alert (min+' '+hour+' '+budilnik);
}
</script>
学会使用Firebug。 它将在未来帮助你。
budilnik=1;
这可能听起来很疯狂,但是这将函数budilnik 重新定义为一个整数,这会破坏表单的onlick。 如果你在关键字var
前面加上这个语句,你将会遮蔽这个函数,但不会覆盖它。 当你不指定var
关键字时,变量被认为是全局作用域,这可能会导致问题(如这样)。
我用萤火虫看到第二次点击时,“budilnik没有定义。” 如果你使用过这个工具,你可能会自己调试这个问题。
变量budilnik
是阴影功能budilnik
。 更改变量的名称,并且每次您的函数都应该正确运行。
更详细地说:
首先,JavaScript将budilink
视为一种功能。 当budilnik
执行,价值budilnik
改写为整数1。因此,下一次的JavaScript被告知要执行budilink
,它试图执行1而不是在那里之前的功能。
将var
关键字放在变量名称前面。
我测试了下面的代码,它只是起作用:
<form name="alert">
<input type="text" name="hour">
<input type="text" name="min">
<input type="button" value="ok" onclick="budilnik(this.form);">
<script type="text/javascript">
function budilnik(form)
{
var budilnik=1;
var min=form.min.value;
var hour=form.hour.value;
alert (min+' '+hour+' '+budilnik);
}
</script>
链接地址: http://www.djcxy.com/p/96519.html