Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 编写单个JS脚本以分配ID';要以HTML格式输出的_Javascript_Html_User Input - Fatal编程技术网

Javascript 编写单个JS脚本以分配ID';要以HTML格式输出的

Javascript 编写单个JS脚本以分配ID';要以HTML格式输出的,javascript,html,user-input,Javascript,Html,User Input,我正在创建一个有用户输入列表的网站,但是在某个阶段,我希望用户看到他们所有输入的摘要页面。如果未选择输入,则不应将其显示为摘要的一部分(如下面的脚本示例所示) 这里是我的问题:将有多个用户输入,而编写一个JS脚本来实现我在下面的示例脚本中所做的工作将是大量的工作,而且不可行。是否有一种方法可以将单个ID的两个JS脚本合并为一个,如下面的脚本所示 <!DOCTYPE html> <html> <head> <meta charse

我正在创建一个有用户输入列表的网站,但是在某个阶段,我希望用户看到他们所有输入的摘要页面。如果未选择输入,则不应将其显示为摘要的一部分(如下面的脚本示例所示)

这里是我的问题:将有多个用户输入,而编写一个JS脚本来实现我在下面的示例脚本中所做的工作将是大量的工作,而且不可行。是否有一种方法可以将单个ID的两个JS脚本合并为一个,如下面的脚本所示

 <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    </head>
    <body>    
        <div>
            <label>For the first test</label>
            <input type="text" placeholder="Enter Number" name="clientinfo" id="test1" required>        
        </div>

        <div>
            <label>For the second test</label>
            <input type="text" placeholder="Enter Number" name="clientinfo" id="test2" required>        
        </div>

        <button id="myBtn">Test</button>

        <div style="color:blue;">
            <p id="result1"></p>
        </div>
        <div style="color:red">
            <p id="result2"></p>
        </div>

        <script>
          function getUserName() {
          var test1 = document.getElementById('test1').value;
          var result1 = document.getElementById('result1');
          if (test1.length > 0) {  
          result1.textContent = 'Test1:  ' + test1;
          } else {
            null;
            }
          }
          var myBtn = document.getElementById('myBtn');
          myBtn.addEventListener('click', getUserName, false);
        </script>

        <script>
          function getUserName() {
          var test2 = document.getElementById('test2').value;
          var result2 = document.getElementById('result2');
          if (test2.length > 0) {  
          result2.textContent = 'Test2: ' + test2;
          } else {
            null;
            }
          }      
          var myBtn = document.getElementById('myBtn');
          myBtn.addEventListener('click', getUserName, false);
        </script>    
    </body>
    </html>

第一次测试
第二次测试
试验

函数getUserName(){ var test1=document.getElementById('test1').value; var result1=document.getElementById('result1'); 如果(test1.length>0){ result1.textContent='Test1:'+Test1; }否则{ 无效的 } } var myBtn=document.getElementById('myBtn'); myBtn.addEventListener('click',getUserName,false); 函数getUserName(){ var test2=document.getElementById('test2').value; var result2=document.getElementById('result2'); 如果(test2.length>0){ result2.textContent='Test2:'+Test2; }否则{ 无效的 } } var myBtn=document.getElementById('myBtn'); myBtn.addEventListener('click',getUserName,false);

另外,我还想知道用户是否要用输入按下测试按钮,删除输入并再次按下测试按钮,第一个输入将被删除?

您可以获得所有输入并循环抛出结果,并创建一个包含输入值的dom元素

每个创建的元素都将被添加到结果元素中

请参阅代码片段

函数getUserName(){ var inputList=document.getElementsByTagName(“输入”); var res=document.getElementById(“结果”); res.innerHTML=“”; var-indx=1; 对于(i=0;i

第一次测试
第二次测试
试验

你能使用图书馆吗?jquery将为您提供许多快捷方式。或者你可以使用类名,一次获取所有输入。我将尝试使用类名。我这周才开始使用HTML,Java对我来说也是很新的。如果我想在用户输入之前添加“Test1:”和“Test2:”怎么办?@RoelofCoertze您可以通过将输入值与所需文本连接起来来实现这一点,请参阅我的更新最后一个问题,如果我想保留与输入相对应的标签如何。例如,第一个输入将打印“第一次测试”?谢谢你的帮助。