this.form1.submit()在FF中为什么不能正常执行
在一个程序中我用this.form1.submit()提交表单,在IE下正常,FF中不能提交
<form id= "form1 " name= "form1 " method= "post " action= "?action=ADDRS ">
省略输入表格
<div style= "margin-left:310px; ">
<input type= "reset " value= "重填 " class= "btn " />
<input name= "按钮 " type= "button " class= "btn " onclick= " CheckStr(); " value= "添加 "/>
</div>
</form> >
function CheckStr()
{
进行判断符合条件
this.form1.submit()}
后改为
var frmEle=document.getElementById( "form1 ")
frmEle.submit();
IE,FF都能正常执行,想问一下,在FF中应怎么正确指出form1元素(不用getElementById)
------解决方案--------------------document.form1.submit()
------解决方案--------------------都是这样子写的
<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>
------解决方案--------------------FF下不能直接用ID来引用DOM对象,所以第一种不行
第二种情况又不一样,是在onkeyup事件里写的,那么,this引用响应onkeyup事件的对象,也就是文本框,this.from指的是该文本框所在的form对象,所以可以.
------解决方案--------------------form1是form的名字。
那个例子代码是写在 <textarea> 标签里的,根据上下文环境,this值textarea对象,而form是textarea对象的一个属性,指的是textarea所在的form,就是form1了。
相当于document.form1.liuyan.form
也可以 document.form1.liuyan.form.submit();
document.forms[0].submit();
------解决方案--------------------因为第一个你不是写在form 里面的,必须用document.form1
而第二个是在 <textarea> 标签的onkeyup事件里写的 this.form就代表 <textarea> 所在的form所以是可行的
------解决方案-------------------- <script type=text/javascript>
function hanshu(obj)
{
alert(obj.nodeName);
}
</script>
<form name= "form1 ">
<input type= "button " name= "a " value= "a " onclick= "hanshu(this.form) ">
</form>