javascript - 在 JavaScript 中单击按钮时将用户输入添加到列表

标签 javascript html

我正在尝试创建一个 HTML 表单,该表单从多个文本框(在本例中为 3 个)中获取文本,并将每个文本框的内容添加到单独 div 中的列表中,并创建一个新对象“employee” ,只需点击一个按钮即可。我的目标是模仿将员工添加到数据库中,使用员工 ID、名字和姓氏作为变量。我希望使用纯 JavaScript 来完成此任务。

到目前为止我所拥有的是:

<form>
  ID Number:
  <br>
  <input type="text" id="idNumber">
  <br>First name:
  <br>
  <input type="text" id="firstName">
  <br>Last name:
  <br>
  <input type="text" id="lastName">
</form>
<br>
<button type="submit" onclick="myFunction(list)">Submit</button>

<div id="container">
  <ul id="list"></ul>
</div>

在单独的 JavaScript 文件中:

function myFunction(list){
  var text = document.getElementById("idNumber","fName","lName").value; 
  var li = "<li>" + text + "</li>";
  document.getElementById("list").replaceChild(li);
}

当我调试代码时,它似乎将值设置得很好,但我没有收到列表的实际输出。

最佳答案

您选择的输入元素都没有类名。您还可以使用 document.getElementById 来执行此操作。只需将 id 添加到所有表单元素即可。

您的代码应如下所示。

function myFunction(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);

}

http://jsfiddle.net/nb5h4o7o/3/

您的列表未被附加,因为您实际上并未创建元素。 replaceChild 应该是 appendChild 并且您应该使用 document.createElement 创建一个列表元素。

关于javascript - 在 JavaScript 中单击按钮时将用户输入添加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33004177/

相关文章:

javascript - Atom Beautify 插件破坏了我的 React html

javascript - 单击图像时 jQuery 单击不触发 - 隐藏/显示表格行

javascript - 在我的购物 list 应用程序中,每件商品有多个按钮,而不是每件商品只有一个按钮?

javascript - AngularJS Material 的表支持

javascript - 是否有一种有利可图的方式来记录文本区域中的用户操作?

javascript - HTML :How to check whether the file is exist in local PC or not using javascript

javascript - 获取对 jQuery 事件处理程序内动态绑定(bind)事件的上下文元素的访问

javascript - 任何人都可以告诉我如何使用 Canvas 将图像调整为特定大小和曲线

javascript - 如果验证为假,如何不提交表单

javascript - Promise 中的异步函数会抛出错误并且不会拒绝