JavaScript为多个输入发布相同的名称

时间:2020-07-16 04:51:51

标签: javascript php html

我想在以下输入字段中使用纯JavaScript上载到数据库中。

var i = 2;
var id=1;
function addkid() {
    
   
  var div = document.createElement('div');
  console.log('my id cj '+id)
  
  div.innerHTML = 'Day' + id + ': <input type="text"  name="child_' + id + '"/>' + '<input type="button" class="submit_but" id="rem_kid()_' + id + '" onclick="remkid(this)" value="-" />';
  //div.innerHTML = 'Day' + id + ': <input type="text" name="child_' + id + '"/>' + ' <input type="button" id="add_kid()_' + id + '" onclick="addkid()" value="+" />' + ' <input type="button" id="rem_kid()_' + id + '" onclick="remkid(this)" value="-" />';
    //  event.stopPropagation();
  document.getElementById('kids').appendChild(div);
   id++;
}

function remkid(div) {
  document.getElementById('kids').removeChild(div.parentNode);
  i--;
}
/////////////////////////////////////////

var i = 1; 
var idd = 1;
function addmen() {
 
  var div = document.createElement('div');
  console.log('my id cj '+idd);
  //var id = i;
 // alert(id);
  div.innerHTML = 'img' + idd + ': <input type="file"  name="child_' + id + '"/>' + '<input type="button" class="submit_but" id="rem_kid()_' + id + '" onclick="remmen(this)" value="-" />';
  //div.innerHTML = 'Day' + id + ': <input type="text" name="child_' + id + '"/>' + ' <input type="button" id="add_kid()_' + id + '" onclick="addkid()" value="+" />' + ' <input type="button" id="rem_kid()_' + id + '" onclick="remkid(this)" value="-" />';
  document.getElementById('menand').appendChild(div);
   idd++;
}

function remmen(div) {
  document.getElementById('menand').removeChild(div.parentNode);
  i--;
}
Title:
  <input type="text" name="name">
  <br/>
  <div id="kids">
    Day/s:
    <!--<input type="text" name="child_1">-->
    <input type="button" class="submit_but"  id="add_kid()_1" onclick="addkid()" value="Add tour day" /><br>
  </div>
   <div id="menand">
    Img/s:
    <!--<input type="file" name="img">-->
    <input type="button" class="submit_but" id="add_kid()_1" onclick="addmen()" value="Add tour Image" /><br>
  </div>
  <div>
  <input type="button" value="Save" name="Save" class="submit_but" onclick="saveroute()">
  </div> 

我想知道如何将多个同名输入字段上载到数据库中。我从来没有做过这种类型的代码。请帮助解决我的问题

1 个答案:

答案 0 :(得分:1)

id是唯一标识符。这意味着您的'id = add_kid()_ 1'不能重复多次。 class属性可以重复。在这种情况下,您将使用class =“ submit_but”来捕获两个输入标签。

然后,第一步是提取信息。只有两个输入可从中提取信息,它们有一个共同的标签:“ submit_but”。

const infoElements = document.querySelector('.submit_but');

infoElemnts包含所有具有class =“ submit_but”的节点。

这里是您的答案pt1 如果要将输入信息存储在数组中:

 const infoValues = infoElements.map((element) => {
        return element.value;
    }

现在,infoValues具有所有输入值。您可以使用将要创建的孩子的输入来完成所有这些过程。

 div.innerHTML = '<input class="dayTour"></input>' 
 div.innerHTML = '<input class="whatever"></input>' 

 const dayTourElements = document.querySelector('.dayTour');
 
 const dayTourValues = dayTourElements.map((element) => {
        return element.value;
 }

这里是您的答案pt2

我不是要保存此文件的方法,但是对于简单的方法,您可以将其简单地写到本地存储文件中以.txt文件格式。

const fs = require('fs');

fs.appendFile('mynewfile1.txt', 'Hello content!', function (err) {
  if (err) throw err;
  console.log('Saved!');
});

此处教程:https://www.w3schools.com/nodejs/nodejs_filesystem.asp

相关问题