javascript - 通过 JQuery 的表单显示不起作用

标签 javascript jquery html forms

我正在尝试根据选择显示表单的不同字段。在几个阶段之前它都可以正常工作。在第 6 页,页面自动刷新,无需我这边进行任何输入。我的代码如下。请帮助我摆脱这个错误。实际工作页面可以找到here.

function next(idshow,hide){
$("#page"+hide).hide();
$("#page"+idshow).show();
return false;
}
<html>
<head>
<title>My Survey </title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
</head>
<body>
<div class="col-md-12" id="page1">
<h1>WELCOME TO ONLINE 
SURVEY </h1>
<button id="1" onclick="next(2,1)">NEXT</button>
</div>

<div class="col-md-12" id="page2" style="display:none">
<center><h1>IMPORTANT</h1> </center>
<p> If you Accept the terms and conditions and provide a relevant information, then you may get UPTO 1 year free trial of apps developed by company in future. </p>
<button id="2" onclick="next(3,2)">NEXT</button>
</div>

<div class="col-md-12" id="page3" style="display:none">
<h2><center> This app is only for survey and not responsible for any claims made by company.</center></h2>
<h3> <center>TERMS AND CONDITIONS </center></h3>
<p>1.   IF YOU ACCEPT THE TERMS AND CONDITIONS, YOU GET UPTO 1 YEAR FREE TRIAL  OF  APPS MADE BY COMPANY (for purpose the survey is done). </p>
<p>2.   AFTER ACCEPTING THE  TERMS AND CONDITIONS FOLLOWING POINTS ARE BOUND TO THE CLIENT: <br>
a)  You must provide all information which is asked by the company. <br>
b)  In future, if required you provide more information if asked. <br>
c)  If after accepting the terms and condition, not providing or non-cooperating in collecting relevant information, the company have all authority to cancel the contract . <br>
d)   In future company has all powers to change the terms and conditions without prior notice. <br>
e)  If any new clause to be added also accepted by the client. <br> </p>
<button id="3" onclick="next(4,3)">ACCEPT</button>
</div>
<div class="col-md-12" id="page4" style="display:none">
<p align="center"><strong>ARE YOU PROFESSIONAL?</strong></p>
<p><form name="myform" method="POST"> <input type="radio" name="r1" onclick="next(5,4)" value="YES">YES </p>
<p> <input type="radio" name="r1" onclick="next(17,4)" value="NO">NO </p>
</div>
<div class="col-md-12" id="page5" style="display:none">
<h2> Personal Information</h2>
  <p>Profile Picture <input type="file" id="pic" class="myinput" name="sbm" align="left" accept="image/*"  value="Browse"> &nbsp;</p>
<p>
FIRST NAME :
</p>
<p>     
  <input type="text" class="nm" name="name" id="name">
</p>
<p>
MIDDLE NAME:
</p>
<p> <input type="text" class="nm"  name="mname" id="nm">
</p>
<p>
LAST NAME :
 </p>
 <p>
  <input type="text" name="lname" class="nm" id="nm">
</p>

<p>
QUALIFICATION
</p>
<p>
<input type="text" name="qual" id="qual">
</p>
<p>
</p>
<p id="hd1"> example(MBBS,BHMS,DHMS ETC)
</p>

<p id="hd2">
DESGINATION:
</p>
<p> <input type="text" name="desg" id="desg">
</p>
<p>
</p>
<p>example(genral practioner, surgeon, skin specialist etc)
</p>
<p>
EXPIRENCE:
</p>
<p>
<input type="text" name="expi" id="expi">
</p>
<p>
<button id="5" onclick="next(6,5)">NEXT</button>
</p>
</div>
<div class="col-md-12" id="page6" style="display:none">
<h1> This is Page 6 </h1>
<button id="6" onclick="next(7,6)">NEXT</button>
</div>

<div class="col-md-12" id="page17" style="display:none">
<h1> This is Page 17</h1>
<button id="17" onclick="next(18,17)">NEXT</button>
</div>

<div class="col-md-12" id="page18" style="display:none">
<h1> This is page 18 </h1>
</div>
</form>
</body>
</html>

请帮我理解到底存在什么问题?

最佳答案

您应该像这样在按钮属性标记中指定 type="button"

<button type="button" id="5" onclick="next(6,5)">NEXT</button>

如果您使用按钮而不指定类型,它将用作包含表单的提交按钮。

您之前的按钮 1,2,3,4 可以工作,因为它们不在表单标记内

关于javascript - 通过 JQuery 的表单显示不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39341930/

相关文章:

javascript - 如果匹配在特定的 html 标记内,则跳过正则表达式匹配

网站加载时 Javascript 按钮处于事件状态

jquery - 向上/向下滚动到带有固定按钮的部分

javascript - 检查元素的祖先是否固定

JavaScript - putImageData 不会绘制每个图 block

jquery - 使用 jQuery 垂直文本

javascript - 从 HTML 中的 if 语句调用 Javascript 函数

javascript - 选择下拉菜单时在移动 View 中放置内容

javascript - 如何创建带有警报和提示的 while 循环以避免空输入?

javascript - AngularJS:ngSwipeLeft 上的函数调用