Javascript—如何将用户输入附加到表单中的新列表项。(如何添加记录)

Javascript—如何将用户输入附加到表单中的新列表项。(如何添加记录),javascript,forms,appendchild,createelement,Javascript,Forms,Appendchild,Createelement,我正在尝试使用javascript创建一个待办事项列表 我希望用户能够将任务添加到他们的待办事项列表中,然后按优先级值排序,可以是低、中或高。我正在附加用户输入,但不是我想要的格式。我想输出一条新记录,其中包含元素中的新标签、新复选框输入和新的优先级选择字段 我开始迷路了,我认为脚本编写过于复杂了,有人对如何创建新元素并将它们附加到我的中有什么建议吗 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <

我正在尝试使用javascript创建一个待办事项列表

我希望用户能够将任务添加到他们的待办事项列表中,然后按优先级值排序,可以是低、中或高。我正在附加用户输入,但不是我想要的格式。我想输出一条新记录,其中包含
  • 元素中的新标签、新复选框输入和新的优先级选择字段

    我开始迷路了,我认为脚本编写过于复杂了,有人对如何创建新元素并将它们附加到我的
      中有什么建议吗

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
      
      <html>
      <head>
      <title>Page title</title>
      <style type="text/css">
      
                   #myForm{width: 600px; background: red;}
      
                   #listContent{clear:both}
      
                   legend h3{background:blue; margin-top: 30px;}
      
                   #labels {margin-left: 70px; width:690px;}
                   .listLabels{margin-right: 145px; font-family: sans-serif; font-style: italic; font-size: 20px;}
      
                   ul {display: block; width: 500px;  background:blue;}
      
                   li{clear: both; width: 600px; background: purple; list-style-type: none; padding: 2em 2em;}
      
                   .label{display:block; float:left; width: 150px;}
      
                   .checkBox{display: block; float: left; margin-left: 55px; width: 100px; color: green;}
      
                   .selectPriority{display: block; width: 80px; float: right; color: blue;}
      
             #addMoreContent{clear:both;}
      
                   .newLabel{display:block; float:left; width: 100px;}
      
                   .inputText{display: block; width: 300px; float: left;}
      
                   .addButton{display:block; width: 60px; }            
      
                   #addSection{position: relative; width: 600px; background: brown; bottom:60px; left: 40px; padding-right: 50px; text-align:right;}
      
                   target          
      
      
      
      </style>
      <script language="javascript">
      
      var counter = 0;
      
      function addNewItem(){
      // Target the user input
           var UserInput = document.getElementById('userInputText').value;
           var UserInputString = UserInput.toString();
              if (UserInputString==""){
      //Display error if field is left blank
              alert('Please add an item to the To-Do list.');
              }
      //Do this if user input is detected
      else {
                function CreateLiElement() {  
      
            var liElement = document.createElement("li");  
                  var labelElement = document.createElement("label");
            var checkBoxElement = document.createElement("input");
                  var selectElement = document.createElement ("select");
                  var optionElement = document.createElement ("option");
                  var userOption = document.getElementById ("userOption");  
      
            labelElement.setAttribute('class', 'label');
            checkBoxElement.setAttribute('type', 'checkBox')
                  checkBoxElement.setAttribute('class','checkBox');
                  selectElement.setAttribute('class','selectPriority')
                  selectElement.setAttribute('name','priority')
                  optionElement.setAttribute('value',userOption)   
      
            liElementItems = labelElement, checkBoxElement, selectElement, optionElement, userOption;  
            document.body.appendChild(liElementItems);  
      
            }  
      
                var y=document.getElementById('targetAdd')
            // variable x gets the innerhtml of the element above
            var x=y.innerHTML
            // alert just shows it on the screen. You can do whatever you want with x
            alert(x);
      
                  alert('the function is complete');
                  alert(UserInputString);
      
      
                var element = document.createElement('label'.className='label');
                  var answer = document.createTextNode(UserInputString);
                  alert(element)
                  document.getElementById("listItems").appendChild(element).className=('label');
                  document.getElementById("listItems").appendChild(answer);
                  alert('the function is complete');
              }
      
      
              /*
                  var Priority = new Array(3);
            Priority[0] = "High";
            Priority[1] = "Medium";
            Priority[2] = "Low";
                  */
      }
      
      </script>
      </head>
      <body>
      
                  <form id="myForm" name="myForm" action="#" method="POST">
                              <fieldset>
                                          <div id="listContent">                                  
                                                      <legend><h3>My Tasks</h3></legend>
                                                           <div id="labels">
                                                                      <span class="listLabels"><strong>To-Do</strong></span>
                                                                      <span class="listLabels"><strong>Completed</strong></span>
                                                                      <span class="listLabels"><strong>Priority</strong></span>
                                                           </div>
      
                                                              <ul id="listItems" class="listItems"><!-- begin list items -->
      
                                                                      <li>
                                                                          <label class="label">Make Iced Coffee</label>
                                                                          <input class="checkBox" type="checkBox" name="list1" id="list1" />
                                                                          <select class="selectPriority" name="priority">
                                                                                          <option value="low">Low</option>
                                                                                          <option value="medium">Medium</option>
                                                                                          <option value="high">High</option>
                                                                        </select>
                                                                      </li>
      
                                                                  <li>
                                                                      <label class="label">Go take the dog for a run</label>
                                                                      <input  class="checkBox" type="checkBox" name="list2" id="list2" />
                                                                          <select class="selectPriority" name="priority">
                                                                                          <option value="low">Low</option>
                                                                                          <option value="medium">Medium</option>
                                                                                          <option value="high">High</option>
                                                                        </select>
                                                                  </li>
      
                                                                  <li>
                                                                      <label class="label">Apply for Jobs</label>
                                                                      <input class="checkBox"  type="checkBox" name="list3" id="list3" />
                                                                          <select class="selectPriority" name="priority">
                                                                                          <option value="low">Low</option>
                                                                                          <option value="medium">Medium</option>
                                                                                          <option value="high">High</option>
                                                                        </select>
                                                                  </li>
      
                                                                  <li>
                                                                      <label class="label">Work on JavaScript project</label>
                                                                      <input class="checkBox" type="checkBox" name="list4" id="list4" />
                                                                          <select class="selectPriority" name="priority">
                                                                                          <option value="low">Low</option>
                                                                                          <option value="medium">Medium</option>
                                                                                          <option value="high">High</option>
                                                                        </select>
                                                                  </li>
      
                                                          </ul><!-- end list items -->
                                          </div><!-- end list content -->
      
                                          <div id="addMoreContent"
                                                      <legend><h3>Add Task</h3></legend>
                                                              <ul>
                                                                      <li>
                                                                          <label class="newLabel" for="addTask">New Task:</label>
                                                                          <div id="targetAdd">
                                                                          <input id="userInputText" class="inputText" type="text" />
                                                                          <select id="userOption" class="selectPriority" name="priority">
                                                                                          <option value="low">Low</option>
                                                                                          <option value="medium">Medium</option>
                                                                                          <option value="high">High</option>
                                                                        </select>
                                                                          </div>
                                                                      </li>
                                                              </ul>
                                                              <br><br>
                                                              <div id="addSection">
                                                              <button id="addItem"  class="addButton" type="button" onClick="addNewItem()">Add</button>
                                                              </div>
                                          </div><!-- end add Content section -->
                              </fieldset>
                  </form>
      
      
      </body>
      </html>
      
      
      页面标题
      #myForm{宽度:600px;背景:红色;}
      #listContent{clear:两者}
      图例h3{背景:蓝色;页边距顶部:30px;}
      #标签{左边距:70px;宽度:690px;}
      .listLabels{右边距:145px;字体系列:无衬线;字体样式:斜体;字体大小:20px;}
      ul{显示:块;宽度:500px;背景:蓝色;}
      li{clear:两者;宽度:600px;背景:紫色;列表样式类型:无;填充:2em 2em;}
      .label{显示:块;浮点:左;宽度:150px;}
      .复选框{显示:块;浮动:左;左边距:55px;宽度:100px;颜色:绿色;}
      .selectPriority{显示:块;宽度:80px;浮点:右;颜色:蓝色;}
      #addMoreContent{clear:两者;}
      .newLabel{显示:块;浮点:左;宽度:100px;}
      .inputText{显示:块;宽度:300px;浮点:左;}
      .addButton{显示:块;宽度:60px;}
      #addSection{位置:相对;宽度:600px;背景:棕色;底部:60px;左侧:40px;右侧填充:50px;文本对齐:右侧;}
      目标
      var计数器=0;
      函数addNewItem(){
      //以用户输入为目标
      var UserInput=document.getElementById('userInputText')。值;
      var UserInputString=UserInput.toString();
      如果(UserInputString==“”){
      //如果字段留空,则显示错误
      警报('请将项目添加到待办事项列表');
      }
      //如果检测到用户输入,请执行此操作
      否则{
      函数CreateLiElement(){
      var liElement=document.createElement(“li”);
      var labelement=document.createElement(“标签”);
      var checkBoxElement=document.createElement(“输入”);
      var selectElement=document.createElement(“选择”);
      var optionElement=document.createElement(“选项”);
      var userOption=document.getElementById(“userOption”);
      setAttribute('class','label');
      checkBoxElement.setAttribute('type','checkBox')
      setAttribute('class','checkBox');
      selectElement.setAttribute('class','selectPriority')
      selectElement.setAttribute('name','priority'))
      optionElement.setAttribute('value',userOption)
      liElementItems=标签元素、复选框元素、选择元素、选项元素、用户选项;
      文件.body.appendChild(liElementItems);
      }  
      var y=document.getElementById('targetAdd'))
      //变量x获取上面元素的innerhtml
      var x=y.innerHTML
      //警报只是在屏幕上显示。你可以用x做任何你想做的事
      警报(x);
      警报(“功能已完成”);
      警报(UserInputString);
      var element=document.createElement('label'.className='label');
      var answer=document.createTextNode(UserInputString);
      警报(要素)
      document.getElementById(“listItems”).appendChild(元素).className=('label');
      document.getElementById(“listItems”).appendChild(答案);
      警报(“功能已完成”);
      }
      /*
      var优先级=新阵列(3);
      优先级[0]=“高”;
      优先级[1]=“中等”;
      优先级[2]=“低”;
      */
      }
      我的任务
      要做的事
      已完成
      优先级
      
      • 煮冰咖啡 低 中等 高
      • 带狗去跑一跑 低 中等 高