【问题标题】:Instead of adding another element It is landing to a another page而不是添加另一个元素它正在登陆到另一个页面
【发布时间】:2015-11-14 06:49:09
【问题描述】:

我使用引导程序创建了一个模式列表,实际上我创建了一个表单列表,当输入详细信息时,它会将我带到所需的页面。注册按钮执行此功能。但现在我还添加了一个依赖下拉(技能,级别)选项。它还有一个添加按钮,每当我单击添加按钮而不是添加其他元素时,它都会将我带到同一页面并显示添加成功的消息。谁能帮帮我?

<form id='work' method="post" action="registerdb.php">
<div class="form-group">
<label for="recipient-name" class="control-label">First Name</label>
<div class="input-group"><span class="input-group-addon" id="basic-addon1">           
<span class="glyphicon glyphicon-user"></span></span>
<input type="text"  id = "firstname" name = "firstname" class="form-control"         
 placeholder="First Name" aria-describedby="basic-addon1">
</div>
</div>
<div class="form-group"><label for="exampleInputEmail1">Last Name</label>
<div class="input-group"><span class="input-group-addon" id="basic-addon1">   
<span class="glyphicon glyphicon-user"></span></span>
<input type="text" id = "lastname" name = "lastname" class="form-control"   
placeholder="Last Name" aria-describedby="basic-addon1">
</div>
</div>
<div class="form-group">
<label>Company Name</label>
<div class="input-group"><span class="input-group-addon" id="basic-addon1">      
<span class="glyphicon glyphicon-briefcase"></span></span>
<input type="text" id= "companyname" name = "companyname" class="form-       
control" placeholder="Company Name" aria-describedby="basic-addon1">
</div>
</div>
<div class="form-group"><label for="exampleInputEmail1">E-mail ID</label>
<div class="input-group"><span class="input-group-addon" id="basic-addon1">  
<span class="glyphicon glyphicon-envelope"></span></span>
<input type="text" id = "emailid" name = "emailid" class="form-control"      
placeholder="Email" aria-describedby="basic-addon1">
</div>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label>
<div class="input-group"><span class="input-group-addon" id="basic-addon1">  
<span class="glyphicon glyphicon-asterisk"></span></span>                       
<input type="password" id = "password" name = "password" class="form-  
control" id="exampleInputPassword1" placeholder="Password">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Type of Industry</label>
<div class="input-group">
<select class="input-medium bfh-countries" data-country="US">
<option value="" disabled="disbaled" selected="selected">Please Select a     
Value</option>    
<option value="Accounting">Accounting</option>   
<option value="Aeronautical">Aeronautical</option>
<option value="Agriculture">Agriculture</option>
<option value="Science and Research">Science and Research</option>
</select>
</div>
</div>            
</div>
<hr>
<div align="center">
<button type="button" class="btn btn-primary" data-   
dismiss="modal">Close</button>
<input class="btn btn-primary" type = "submit" name = "submit" value =    
"register" />
 </div>
 </form>
 <script>
 $( "#add" ).click(function() {
 var row = $("#wrapper-1").clone();
 //row.remove("#add");
 $('#wrapper').append(row);
 });
 </script>
 <div id="wrapper" width="100%">
 <div id="wrapper-1" style="float: left; width: 85%;">
 <div id="first" style="float: left; width: 65%;"> 
 <label for="skills">Skills</label>
 <select id="one" class="step1">
 <option value="">Please select an option</option>
 <option>C</option>
 <option>C++</option>
 <option>Java</option>
 <option>PHP</option>
 </select>
 </div>
 <div class="general" style="float: left; width: 35%;"> 
  <label for="skills">Level</label>
  <select id="two" class="step2">
  <option value="">option</option>
  <option>Begineer</option>
  <option>Expert</option>
  <option>Advanced</option>
  </select>
  </div>
  </div>
  <div class="add-general" style="float: left; width: 15%;">
  <button id="add">add</button>
  </div>  
  </div>

【问题讨论】:

  • 你能给我们一个jsfiddle吗?这真的很有帮助,因为我们可以从主小提琴分叉出来,调整它并告诉你我们是如何让它工作的。
  • 嘿,看看这个小提琴...jsfiddle.net/stark143/qc3tu1f1/1

标签: javascript html


【解决方案1】:

您的 jsfiddle 搞砸了,您应该使用左侧的“外部”功能加载外部 CSS 和脚本。显然您的本地文件将无法访问,因此请使用绝对路径。这次我花时间正确设置它。

您的 HTML 看起来也很乱,但浏览器仍然可以理解。

至于你的意外行为,我认为这篇文章适用于你的情况:Form is submitted when I click on the button in form. How to avoid this?

本质上:您只需要指定一个type 属性(其值显然与"submit" 不同),以便您的“添加”按钮不再充当提交按钮。

<button id="add" type="button">add</button>

在“添加”按钮上附加事件侦听器也有问题:您的代码必须在 按钮存在于 DOM 之后执行。

2个简单的方法:

  • 把你的script标签放在你的按钮HTML之后。
  • 在 DOM 准备好/加载后执行您的代码(例如,使用 jQuery(document).ready(function() { /** your code **/}) 请求 jQuery 执行一次 DOM is ready)。
jQuery(document).ready(function() {
    $( "#add" ).click(function() {
        var row = $("#wrapper-1").clone();
        // You should change the id to avoid multiple elements
        // with same id in your DOM...
        $('#wrapper').append(row);
    });
});

更新 jsfiddle:http://jsfiddle.net/qc3tu1f1/4/

【讨论】:

  • 嘿,谢谢你的回答。我使用了代码。现在添加按钮不会让我进入另一个页面,但它也不会添加下一个元素,比如如果我想添加更多技能和级别,它不会添加。但它在 jsfiddle 中工作,但不在我的浏览器中
  • 是的,当然我确实改变了..在这里检查整个代码...jsfiddle.net/stark143/y4w81210
  • 您尝试使用 jQuery before 它在您的页面中定义(即在 jQuery 脚本之前)。任何需要 jQuery 的 JS 都必须放在 导入脚本标签之后。更新代码:jsfiddle.net/y4w81210/1 我强烈建议你使用开发者工具,它对调试非常方便。在大多数浏览器上按 F12 即可启动它。
  • 嘿,我尝试在 JSfiddle 中添加相同的代码,它可以完美运行,但在我的浏览器中却没有。可能是什么问题?
  • 由于我不知道您使用的是什么“浏览器”,也不知道您在 jsfiddle 中的操作有何不同,因此我很难为您提供帮助。
猜你喜欢
  • 2017-12-12
  • 1970-01-01
  • 1970-01-01
  • 2022-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多