你说的不错,我想再问一个,我书上的另一个例子中
<form name="form1" method="Post" action="">
<textarea cols="60" rows="18" class="inde" id="liuyan" name="liuyan" onkeyup="gbcount(this.form.liuyan,this.form.total,this.form.used,this.form.remain);" onkeypress="gbcount(this.form.liuyan,this.form.total,this.form.used,this.form.remain);" ></textarea>
最多字数:<input disabled maxlength=3 name=total size=3 value="200">
已用字数:<input disabled maxlength=3 name=used size=3 value=0>
剩余字数:<input disabled maxlength=3 name=remain size=3 value=0>
</form>
function gbcount(message,total,used,remain)
{
var max;
max = total.value;
if (message.value.length > max) {
message.value = message.value.substring(0,max);
used.value = max;
remain.value = 0;
alert("留言不能超过 200 个字!");
}
else {
used.value = message.value.length;
remain.value = max - used.value;
}
}
请问在这为什么会IE和FF下都行,而且我发现它用的是form而不是form1,在我的上例中,我改为
form也还是不行?这又是为什么呢?
<form name="form1" method="Post" action="">
<textarea cols="60" rows="18" class="inde" id="liuyan" name="liuyan" onkeyup="gbcount(this.form.liuyan,this.form.total,this.form.used,this.form.remain);" onkeypress="gbcount(this.form.liuyan,this.form.total,this.form.used,this.form.remain);" ></textarea>
最多字数:<input disabled maxlength=3 name=total size=3 value="200">
已用字数:<input disabled maxlength=3 name=used size=3 value=0>
剩余字数:<input disabled maxlength=3 name=remain size=3 value=0>
</form>
function gbcount(message,total,used,remain)
{
var max;
max = total.value;
if (message.value.length > max) {
message.value = message.value.substring(0,max);
used.value = max;
remain.value = 0;
alert("留言不能超过 200 个字!");
}
else {
used.value = message.value.length;
remain.value = max - used.value;
}
}
请问在这为什么会IE和FF下都行,而且我发现它用的是form而不是form1,在我的上例中,我改为
form也还是不行?这又是为什么呢?
<form id="form1" name="form1" method="post" action="?action=ADDRS">
<div style="margin-left:310px;">
<input type="reset" value="重填" class="btn" />
<input name="按钮" type="submit" class="btn" onclick=" return CheckStr();" value="添加"/>
</div>
</form>>
<script language="JavaScript">
<!--function CheckStr()
{
//进行判断符合条件
//document.form1.submit()
return true;
//不符合条件
//return false;
}
//-->
</script>
第二种情况又不一样,是在onkeyup事件里写的,那么,this引用响应onkeyup事件的对象,也就是文本框,this.from指的是该文本框所在的form对象,所以可以.
那个例子代码是写在<textarea>标签里的,根据上下文环境,this值textarea对象,而form是textarea对象的一个属性,指的是textarea所在的form,就是form1了。
相当于document.form1.liuyan.form
也可以 document.form1.liuyan.form.submit();
document.forms[0].submit();
而第二个是在<textarea>标签的onkeyup事件里写的 this.form就代表<textarea>所在的form所以是可行的
function hanshu(obj)
{
alert(obj.nodeName);
}
</script>
<form name="form1">
<input type="button" name="a" value="a" onclick="hanshu(this.form)">
</form>