这篇文章主要介绍了提交按钮的 name='submit'引起的 js 失效问题及原因, 需要的朋友可以参考下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
代码如下:
- <html xmlns="{aa0aa} http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>Insert title here</title>
- <link type="text/CSS" rel="stylesheet" href="css/style.css">
- </head>
- <body>
- <form id="pquery" method="post" action="supplierAction!list.action">
- <div class="menu">
- 商品名称:
- <input name="bill.goodsname" class="input-text" type="text">
- 是否付款:
- <select name="bill.pay">
- <option value="">
- 请选择
- </option>
- <option value="01">
- 已付款
- </option>
- <option value="02">
- 未付款
- </option>
- </select>
- <!--就是因为下面这个按钮的名称叫做submit导致js失效-->
- <input name="submit" value="组合查询" class="button" type="submit">
- </div>
- <div style="text-align: center;">每页显示
- <select name="page.pageItems" onchange="gotoSelectedPage1()">
- <option value="5">5</option>
- <option value="10" selected="selected">10</option>
- <option value="20">20</option>
- <option value="50">50</option>
- </select>条 共6条记录 第
- <input id="curpage" name="page.currentPage" style="height:14px;line-height:14px; vertical-align:middle;color:#005aa7; border-bottom:1px solid #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页 <a href="javascript:page_first();">第一页</a>
- <a href="javascript:page_last();">最后一页</a> 跳转页码至:
- <select style="width: 40px;" id="selectpage" onchange="gotoSelectedPage()">
- <option value="1" selected="selected">1</option></select></div>
- <script type="text/javascript">
- function sel(val){return document.getElementById(val);}
- var page=sel('curpage');var form=sel('pquery');var select=sel('selectpage');
- function page_first() {page.value = 1;form.submit();}
- function page_pre() {var a = page.value;a = parseInt(a) - 1;page.value = a;page_validate();form.submit();}
- function page_next() {var a = page.value;a = parseInt(a) + 1;page.value = a;page_validate();form.submit();}
- function page_last() {page.value = 1;form.submit();}
- function page_validate() {var a = page.value;if (a < 1){a = 1;} if (a > 1){a = 1;}page.value = a;}
- function gotoSelectedPage1() {page.value = 1;form.submit();}
- function gotoSelectedPage() {page.value = select.value;form.submit();}
- </script>
- </div>
- </form>
- </body></html>
name 属性删除之后正常运行~~这是什么原因呢,经过一番研究和咨询,一位大神给出了答案
form 中元素通过 name 获取。如果 name=submit,那么 form.submit 得到的应该是 那个 input 。所以 form.submit() 会报 is not a finction 的错误
小伙伴们了解了没,希望本文能给大家一些帮助
来源: