【发布时间】:2017-12-11 08:06:49
【问题描述】:
我创建了一个表单,其中添加按钮 adds 另一行,其中包含姓名、电子邮件和年龄,然后 delete 将其删除。但是,jquery 代码不能按预期工作。我是 jquery 的初学者,想弄清楚我犯了什么错误。我在 Stackoverflow 中查看了类似的问题,但无法弄清楚。
$(document).ready(function(){
var max_fields= 10;
var wrapper = $("#commentForm");
var add_button = $("#addButton");
var delete_button = $('#deleteButton')
var x=1;
add_button.click(function(e){
e.preventDefault();
if (x < max_fields){
x++;
$(wrapper).append('<input id="bname" name="name" minlength="2" type="text" required/>', '<input id="bemail" name="email" type="email" required/', '<input id="bage" name="age" type="number" required/>' )
}
});
$(wrapper).on("click","#deleteButton", function(e){
e.preventDefault();$(this).parent('p').remove();
x--;
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<body>
<section class="container">
<form class="cmxform" id="commentForm" method="get" action="form-handler.html" autocomplete="">
<fieldset>
<input type="checkbox"/>
<p>
<span> Name </span> <br>
<label for="aname" ></label>
<input id="bname" name="name" minlength="2" type="text" required/>
</p>
<p>
<span> Email </span> <br>
<label for="aemail" ></label>
<input id="bemail" name="email" type="email" required/>
</p>
<p>
<span> Age </span> <br>
<label for="aage" ></label>
<input id="bage" name="age" type="number" required/>
</p>
<div class="input_fields_wrap">
<div class="addButton">
<button type="button" value="add">Add</button>
</div>
<div class="deleteButton">
<button type="button" value="delete">Delete</button>
</div>
</div>
</fieldset>
</form>
</section>
</body>
谢谢。
【问题讨论】:
-
这个
bnameid 将重复 ID 在上下文中应该是唯一的 -
您的 HTML 有一些错误,您可以先修复它们,如大写
<P>不能用<p>关闭,只需将所有 HTML 写成小写即可。</br>不是标签,是<br />、<br/>或<br> -
完成。感谢您发现这些错误。