【发布时间】:2017-10-19 15:48:28
【问题描述】:
我创建了以下表单:当您在第一个文本框中输入名称时,它会在按下 + 按钮后将名称动态添加到下面的另一个字段中。该功能在 + 按钮上实现。
现在我想在同一个脚本中添加一个验证逻辑,因此不应将同一个名称添加两次。请指教,只想用javascript实现。
function promptAdd(list){
var text = "";
var inputs = document.querySelectorAll("input[type=text]");
for (var i = 0; i < inputs.length; i++) {
text += inputs[i].value;
}
var li = document.createElement("li");
var node = document.createTextNode(text);
li.appendChild(node);
document.getElementById("list").appendChild(li);
}
<!doctype html>
<html>
<div class="row">
<div class="col-lg-6 mb-1">
<div class="card h-100 text-left">
<div class="card-body">
<h4 class="card-title">Add Resources</h4>
<input type="text" class="form-control" name="employee" placeholder="Enter Name" />
<small id="message" class="form-text text-muted">Press + to add to your list</small>
<button id="bd1" class="btn add-more" onclick="promptAdd(list)" type="button">+</button>
<br></br>
<h5>List of Resources added</h5>
<div class="form-control" id="list">
<span id="list">
</div>
</div>
</div>
</div>
</div>
</html>
【问题讨论】:
-
你有 es6 的访问权限吗?这可以使用 Sets 轻松完成。如果没有,只需使用
indexOf来查看值是否已存在,如果不存在则仅插入。不过,您必须保留一份已经存在的列表,或者每次都解析该列表。 -
最好的办法是维护一个项目数组。然后在数组中查看一个项目是否已经存在将非常容易。
标签: javascript html