Buton dinamic stergere Div nou adaugat
Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
-
sterica
- Mesaje: 285
Buton dinamic stergere Div nou adaugat
Salutare,
Scriptul meu js adauga noi div-uri la apasarea unui buton, tot la apasarea aceluiasi buton vreau sa mai adaug un buton (langa cel de adaugare) care sa apeleze o functie de stergere a div-urilor adaugate iar stergerea divurilor sa se faca ultimul div creat, primul sters, dar numaratoarea div-urilor sa continue atunci cand se doreste adaugarea de noi div-uri. Cand ramane un singur div butonul de stergere sa dispara.
Cod: Selectaţi tot
<div class="col-3 border-col">
<form id='test'>
<h6>Crearea templeate chestionar</h6>
<div class="form-group">
<label for="NumeChestionar">Nume chestionar</label>
<input type="text" class="form-control" id="NumeChestionar" aria-describedby="emailHelp" placeholder="numele templete chestionar">
<small id="NumeChestionarHelp" class="form-text text-muted">help help.</small>
</div>
<div class="form-group">
<label for="intrebarea1">Intrebarea 1</label>
<input type="text" class="form-control" id="intrebarea1" placeholder="adauga intrebare">
</div>
</form>
<button onclick="addDiv('test');">add</button>
</div>
Cod: Selectaţi tot
<script>
var counterText = 1;
function addDiv(divName){
var newdiv = document.createElement('div');
var newbutton = document.createElement('button')
newdiv.innerHTML ="<div class='form-group'><label for='intrebarea" + (counterText + 1) + "'>Intrebarea " + (counterText + 1) + "</label><input type='text' class='form-control' id='"+ (counterText + 1) +"' placeholder='adauga intrebare'></div>";
newbutton.innerHTML = "<button onclick='removeDiv();'>remove</button>";
counterText++;
document.getElementById(divName).appendChild(newdiv);
}
</script>
Multumesc!
MarPlo
Mesaje: 4343
Salut
Incearca acest script JS la codul html pe care l-ai postat.
Cod: Selectaţi tot
<script>
var div_ix =1;
function addDiv(id_in){
div_ix++;
var newdiv ="<div id='new_div"+ div_ix +"' class='form-group'><label for='intrebarea"+ div_ix +"'>Intrebarea "+ div_ix +"</label><input type='text' class='form-control' id='intrebarea"+ div_ix +"' placeholder='adauga intrebare'></div>";
var btn_remove ="<button id='btn_remove' onclick='removeDiv();'>remove</button>";
document.getElementById(id_in).insertAdjacentHTML('beforeend', newdiv);
if(!document.getElementById('btn_remove')) document.getElementById(id_in).insertAdjacentHTML('afterend', btn_remove);
}
function removeDiv(){
document.getElementById('new_div'+ div_ix).outerHTML ='';
if(div_ix ==2) document.getElementById('btn_remove').outerHTML ='';
div_ix--;
}
</script>
sterica
Mesaje: 285
Salutare,
Butonul de remove functioneaza numai cand este new_div2, cand se depaseste valoare de 2, butonul remove nu mai functioneaza.
Multumesc!
sterica
Mesaje: 285
Am rezolvat problema, butonul remove nu avea setat type si facea un submit formului unde se afla.
Dupa ce am definit type='button' functioneaza, insa nu imi explic din ce cauza
Subiecte similare
-
Formular dinamic cu jQuery
JavaScript - jQuery - Ajax
Primul mesaj
Salut
As dori sa fac un formular in care vreu sa pun pretul de transport in functie de greutate.
Si am greutatea minima , greutatea maxima ; cost...
Ultimul mesaj
La refresh nu raman fiindca nu sunt salvate undeva pentru a fi preluate.
Ca sa ramana si la refresh e necesar sa le salvezi intr-o baza de date,...
-
Afisare cu animatie continut adaugat cu JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Ideea pe care vreau sa o fac e că la clic pe un buton, conținutul vechi e înlocuit cu nou conținut HTML adăugat cu javascript.
Vreau ca noul...
Ultimul mesaj
Pentru a declanșa o tranziție CSS, modifica starea CSS după ce ai introdus codul HTML. Poți face asta schimbând o clasă (la container sau la un...
-
Buton pentru a crește sau descrește aleator un numar
JavaScript - jQuery - Ajax
Primul mesaj
Intrebare rapida:
Cum pot seta un buton care poate crește și /sau descrește aleator un număr la clic?
Acesta este codul pe care îl am....
Ultimul mesaj
Poti sa folosesti Math.random() pentru a decide dacă numarul va crește sau nu:
<button id='tst_btn'>Change counter</button>
<h3...