简单的Javascript问题

简单的Javascript问题,javascript,forms,button,Javascript,Forms,Button,当我第一次点击按钮时,一切正常,但第二次,什么也没发生。为什么呢 <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 bu

当我第一次点击按钮时,一切正常,但第二次,什么也没发生。为什么呢

<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>

布迪尔尼克职能(表格)
{
布迪尔尼克=1;
min=form.min.value;
小时=form.hour.value;
警报(分钟+小时+布迪尔尼克);
}
变量
budilnik
正在隐藏函数
budilnik
。更改变量的名称,您的函数每次都应该正常工作

更详细地说:

首先,JavaScript将
budilink
定义为一个函数。执行
budilnik
时,
budilnik
的值将被整数1覆盖。因此,下一次JavaScript被告知执行
budilink
,它会尝试执行1,而不是之前的函数。

变量
budilnik
正在跟踪函数
budilnik
。更改变量的名称,您的函数每次都应该正常工作

更详细地说:


首先,JavaScript将
budilink
定义为一个函数。执行
budilnik
时,
budilnik
的值将被整数1覆盖。因此,下一次JavaScript被告知执行budilink时,它会尝试执行1,而不是之前的函数。

更改budilnik=1;i_budilnik=1或其他变量名。。通过指定budilnik=1;您正在将定义从函数更改为int val


或者,您可以尝试var budilnik=1;但不确定这是否能解决问题。

更改budilnik=1;i_budilnik=1或其他变量名。。通过指定budilnik=1;您正在将定义从函数更改为int val


或者,您可以尝试var budilnik=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>

布迪尔尼克职能(表格)
{
var budilnik=1;
var min=form.min.value;
var hour=form.hour.value;
警报(分钟+小时+布迪尔尼克);
}

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>

布迪尔尼克职能(表格)
{
var budilnik=1;
var min=form.min.value;
var hour=form.hour.value;
警报(分钟+小时+布迪尔尼克);
}
学会使用。这对你将来会有很大的帮助

budilnik=1;
这听起来很疯狂,但这是将函数budilnik重新定义为整数,这打破了表单的唯一性。如果在该语句前面加上关键字
var
,则会对函数进行阴影处理,但不会覆盖它。如果不指定
var
关键字,则假定变量为全局范围,这可能会导致问题(如下所示)

我使用firebug在第二次单击时看到,“budilnik未定义”。如果您使用此工具,您可能已经自己调试了此问题。

学会使用。这对你将来会有很大的帮助

budilnik=1;
这听起来很疯狂,但这是将函数budilnik重新定义为整数,这打破了表单的唯一性。如果在该语句前面加上关键字
var
,则会对函数进行阴影处理,但不会覆盖它。如果不指定
var
关键字,则假定变量为全局范围,这可能会导致问题(如下所示)


我使用firebug在第二次单击时看到,“budilnik未定义”。如果您使用此工具,您可能已经自己调试了此问题。

您的英语虽然奇怪,但可以理解,不需要道歉。不过,你可以通过陈述你在调试问题时所做的努力来改进这个问题。你的英语虽然奇怪,但可以理解,不需要道歉。但是,您可以通过说明调试问题所做的尝试来改进问题。