提交按钮的name='submit'引起的js失效问题及原因
代码如下:
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta 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 的错误
小伙伴们了解了没,希望本文能给大家一些帮助