Добавление кнопки отправки / отправки формы в скрипт javascript - PullRequest
0 голосов
/ 15 февраля 2019

Я нашел этот код здесь (спасибо Хави Лопесу), и он идеально подходит для того, что мне нужно добавить в мой проект, но мне нужна помощь в добавлении кнопки отправки и отправки формы в JavaScript.У меня нет знаний по этому вопросу, и я попытался посмотреть на некоторые примеры, но ни один из них, похоже, не работает.Буду благодарен, если кто-нибудь сможет мне помочь.После того, как пользователь добавит соответствующее количество полей ввода и добавит туда данные, я хотел бы иметь кнопку отправки, которая будет размещать результаты на другой веб-странице (странице результатов)

Я добавил решение к приведенному нижекодирование (спасибо MTCoster), но я сейчас пытаюсь найти решение, чтобы кнопка отправки появлялась только после добавления записи.Я пробовал разные методы, но не будет работать.

function addFields() {
  // Number of inputs to create
  var number = document.getElementById('member').value;
  
  // Container <div> where dynamic content will be placed
  var container = document.getElementById('container');
  
  // Clear previous contents of the container
  while (container.hasChildNodes()) {
    container.removeChild(container.lastChild);
  }
  
  for (i = 0; i < number; i++) {
    // Append a node with a random text
    container.appendChild(document.createTextNode('Member ' + (i + 1) + ' '));
    
    // Create an <input> element, set its type and name attributes
    var input = document.createElement('input');
    input.type = 'text';
    input.name = 'member' + i;
    container.appendChild(input);
    
    // Append a line break 
    container.appendChild(document.createElement('br'));
  }
}
<input type="text" id="member" name="member" value="">Number of Pins: (max. 48)<br>
<a href="#" id="filldetails" onclick="addFields()">Add Pinout Entries</a>
<form action="result.asp" method="POST">
<div id="container"></div>
<input type="submit" value="Add Data">
</form>

1 Ответ

0 голосов
/ 15 февраля 2019

Вы почти на месте - все, что вам нужно сделать, это обернуть ваши входные данные в элемент <form>:

function addFields() {
  // Number of inputs to create
  var number = document.getElementById('member').value;
  
  // Container <div> where dynamic content will be placed
  var container = document.getElementById('container');
  
  // Clear previous contents of the container
  while (container.hasChildNodes()) {
    container.removeChild(container.lastChild);
  }
  
  for (i = 0; i < number; i++) {
    // Append a node with a random text
    container.appendChild(document.createTextNode('Member ' + (i + 1) + ' '));
    
    // Create an <input> element, set its type and name attributes
    var input = document.createElement('input');
    input.type = 'text';
    input.name = 'member' + i;
    container.appendChild(input);
    
    // Append a line break 
    container.appendChild(document.createElement('br'));
  }
}
<input type="text" id="member" name="member" value="">Number of Pins: (max. 48)<br>
<a href="#" id="filldetails" onclick="addFields()">Add Pinout Entries</a>
<form action="/url/to/post/to" method="POST">
  <div id="container"></div>
  <input type="submit">
</form>

Если вы хотите, чтобы кнопка отправки появлялась только после того, как виден хотя бы один ввод, вы можете добавить ее в div#container в концеaddFields().Я оставлю это как упражнение для OP, так как он не сильно отличается от того, как вы добавляете поля ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...