Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dodanie petli do skryptu
Forum PHP.pl > Forum > XML, AJAX
wjkbdg
witam, mam skrypt js, który po każdym kliknięciu na button dodaje nowy element input. Czy może ktoś mi pomóc i dodać do niego pętle for, żeby można ograniczyć maksymalną liczbę dodanych przycisków. Będę wdzięczny za pomoc. Pozdrawiam

  1. <?php
  2. <script type="text/javascript">
  3. function dodaj_element(kontener){
  4.   var znacznik = document.createElement('input');
  5.   znacznik.setAttribute('type', 'file');
  6.   znacznik.setAttribute('name', 'val[]');
  7.   znacznik.className = 'upload';
  8.   var kontener = document.getElementById(kontener);
  9.  
  10.   kontener.appendChild(znacznik);
  11. }
  12. </script>
  13. ?>
Cysiaczek
Przed definicją funkcji daj zmienną, której wartość ustaw na 0.
W funkcji dodaj warunek, że jeśli owa zmienna przybierze jakąś wartość (np. 10), to ma nie pozwolić na dodanie przycisku.
Na końcu funkcji zwiększaj zmienną o 1 (licznik++). To wszystko.

Pozdrawiam.
melkorm
Także JS'em możesz przed dodanie sparwdzić długoś tablicy val[] i jeżeli jest równe ograniczonej długości to już nei dodawać nowych pól :]
wjkbdg
Funkcja wywoływana jest tak:
  1. <a href="#" onclick="dodaj_element('pliki');" />Dodaj pole</a>


po modyfikacji skrypt wyglada tak:
  1. <?php
  2. var i = 0;
  3. function dodaj_element(kontener){
  4. for (var=i;var<=3;var=i++)
  5. {
  6.  
  7.   var znacznik = document.createElement('input');
  8.   znacznik.setAttribute('type', 'file');
  9.   znacznik.setAttribute('name', 'val[]');
  10.   znacznik.className = 'upload';
  11.   var kontener = document.getElementById(kontener);
  12.  
  13.   kontener.appendChild(znacznik);
  14. }
  15. }
  16. ?>


i lipa..
box3r
Zgubilem sie sie gdzie tu jest php a gdzie JS

Kod
<script type="text/javascript">

function dodaj_element(kontener,licznik)
{

 var znacznik = document.createElement('input');

 znacznik.setAttribute('type', 'file');
 znacznik.setAttribute('name', licznik);
 znacznik.className = 'upload';

 var kontener = document.getElementById(kontener);

 kontener.appendChild(znacznik);
}

// ilosc inputow

var c = 3;

for(i=0;i<c;i++)
{
dodaj_element("id_kontenera",i);
}

</script>

moze cos pomoze

powodzenia
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.