• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Polecenie dodawania przyciskiem pola do formularza

Object Storage Arubacloud
+1 głos
296 wizyt
pytanie zadane 20 stycznia 2021 w JavaScript przez Martita Bywalec (2,470 p.)
Jakim poleceniem javascript utworze przycisk który będzie dodawał pola?

Przykład

Użytkownik chce dodać liczby z 3 pól ale są 2 pola. Użytkownik dodaje 3cie pole przez kliknięcie w przycisk Dodaj.
komentarz 20 stycznia 2021 przez Martita Bywalec (2,470 p.)
edycja 20 stycznia 2021 przez Martita

Uczę się js. Proszę o pomoc. Nie wiem gdzie jest błąd.

Po kliknięciu w przycisk nie dodaje pola w formularzu.

HTML

  <button>Add input</button>
    <br>
    <div style="width:100%">
        <input type="number" value="0" autofocus> <br><br>
        <input type="text" class="sum" placeholder="Sum" readonly>
    </div>

JS

$(document).ready(function() {
	function sum() {
		var sum = 0;
		$('input:not(.sum)').each(function(){
			sum += parseInt($(this).val());
		});
		$('.sum').val(sum);
	}
	$(document).on('keyup change', 'input:not(.sum)', function() {
		setTimeout(sum, 100);
	});
	$('button').click(function() {
		$('<input>').attr({
			'type': "number",
			'value': "0"
		}).insertAfter('input:not(.sum):last');
		sum();
	});
});

 

komentarz 20 stycznia 2021 przez Martita Bywalec (2,470 p.)
Pomóżcie mi błagam. Chce się tego nauczyć.

3 odpowiedzi

+1 głos
odpowiedź 24 stycznia 2021 przez agapoli Początkujący (330 p.)
const divForInputs = document.querySelector('div');

const addInput = () => {
  const newInput = document.createElement('input');
  divForInputs.appendChild(newInput);
};

document.querySelector('button').addEventListener('click', addInput);

Hej, powyżej moja propozycja kodu, mam nadzieję, że jeszcze się przyda :)

Widzę, że przycisk masz już dodany w html, dlatego wystarczy tylko go pobrać i ustawić nasłuchiwanie. Przy tak prostym kodzie nie ma też chyba sensu korzystać z jQuery.

+1 głos
odpowiedź 25 stycznia 2021 przez VBService Ekspert (253,120 p.)
edycja 25 stycznia 2021 przez VBService

@agapoli, Twój kod wygląda spoko, ale Ja bym zmodyfikował go tak wink, a @Marta Długa, sama dokona wyboru  Codepen

<button>Add input</button>
<br>
<div style="width:100%">
  <input type="number" value="0" autofocus> <br><br>
  <input type="text" class="sum" placeholder="Sum" readonly>
</div>
input {
  display: block;
}
document.querySelector('button').addEventListener('click', () => {
  const divForInputs = document.querySelectorAll('div input[type="number"]');
  const newInput = document.createElement('input');
  newInput.setAttribute('type','number');
  newInput.setAttribute('value','0');
  divForInputs[divForInputs.length-1].after(newInput);
});

lub  Codepen

<button>Add input</button>
<br>
<div style="width:100%">
  <div>
    <input type="number" value="0" autofocus>
  </div>
  <br><br>  
  <input type="text" class="sum" placeholder="Sum" readonly>
</div>
input {
  display: block;
}
div div :last-child { /* Dla prezentacji ostatnio dodanego */
  background-color: green;
  color: white;
}
document.querySelector('button').addEventListener('click', () => {
  const divForInputs = document.querySelector('div div :last-child');
  const newInput = document.createElement('input');
  newInput.setAttribute('type','number');
  newInput.setAttribute('value','0');
  divForInputs.after(newInput);
});

 

0 głosów
odpowiedź 20 stycznia 2021 przez krissto7 Gaduła (3,100 p.)
Musisz oczywiście stworzyć taki przycisk

const btn = document.createElement('button')

potem musisz go podłączyć do struktury htmla poprzez

document.body.appendChild(btn) , zamiast document.body możesz użyć jakiegoś diva , w którym ma się znajdować przycisk

Podobne pytania

–1 głos
0 odpowiedzi 192 wizyt
0 głosów
1 odpowiedź 205 wizyt
+1 głos
0 odpowiedzi 90 wizyt
pytanie zadane 25 kwietnia 2016 w Java przez Wilier Bywalec (2,570 p.)

92,556 zapytań

141,403 odpowiedzi

319,560 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...