提交按钮的name='submit'引起的js失效问题及原因
代码如下:
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"> <title>Inserttitlehere</title> <linktype="text/css"rel="stylesheet"href="css/style.css"> </head> <body> <formid="pquery"method="post"action="supplierAction!list.action"> <divclass="menu"> 商品名称: <inputname="bill.goodsname"class="input-text"type="text"> 是否付款: <selectname="bill.pay"> <optionvalue=""> 请选择 </option> <optionvalue="01"> 已付款 </option> <optionvalue="02"> 未付款 </option> </select> <!--就是因为下面这个按钮的名称叫做submit导致js失效--> <inputname="submit"value="组合查询"class="button"type="submit"> </div> <divstyle="text-align:center;">每页显示 <selectname="page.pageItems"onchange="gotoSelectedPage1()"> <optionvalue="5">5</option> <optionvalue="10"selected="selected">10</option> <optionvalue="20">20</option> <optionvalue="50">50</option> </select>条共6条记录 第 <inputid="curpage"name="page.currentPage"style="height:14px;line-height:14px;vertical-align:middle;color:#005aa7;border-bottom:1pxsolid#005aa7;border-top:0px;border-left:0px;border-right:0px;background-color:transparent;width:14px;text-align:center;"readonly="readonly"value="1"size="3"> 页/共1页 <ahref="javascript:page_first();">第一页</a> <ahref="javascript:page_last();">最后一页</a> 跳转页码至: <selectstyle="width:40px;"id="selectpage"onchange="gotoSelectedPage()"> <optionvalue="1"selected="selected">1</option></select></div> <scripttype="text/javascript"> functionsel(val){returndocument.getElementById(val);} varpage=sel('curpage');varform=sel('pquery');varselect=sel('selectpage'); functionpage_first(){page.value=1;form.submit();} functionpage_pre(){vara=page.value;a=parseInt(a)-1;page.value=a;page_validate();form.submit();} functionpage_next(){vara=page.value;a=parseInt(a)+1;page.value=a;page_validate();form.submit();} functionpage_last(){page.value=1;form.submit();} functionpage_validate(){vara=page.value;if(a<1){a=1;} if(a>1){a=1;}page.value=a;} functiongotoSelectedPage1(){page.value=1;form.submit();} functiongotoSelectedPage(){page.value=select.value;form.submit();} </script> </div> </form> </body></html>
name属性删除之后正常运行~~这是什么原因呢,经过一番研究和咨询,一位大神给出了答案
form中元素通过name获取。如果name=submit,那么form.submit得到的应该是那个input。所以form.submit()会报isnotafinction的错误
小伙伴们了解了没,希望本文能给大家一些帮助