Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript][PHP]Podlicznie pól dynamicznych
Forum PHP.pl > Forum > Przedszkole
lukasz92r
Mam napisany skrypt z dodawaniem kolejnych pól. Skrypt jest poniżej:

  1. <?php
  2. include('config.php');
  3. ?>
  4.  
  5.  
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  7. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  8. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">
  9. <head>
  10. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  11. <style type="text/css">
  12. <!--
  13. div.upload { display: block; }
  14. input.upload { display: block; }
  15. select.upload1 { display: block; }
  16. -->
  17. </style>
  18. </head>
  19.  
  20. <body>
  21. <form action="" method="post">
  22. <div id="pliki">
  23. <div class="upload">
  24. Link:
  25. <input type="text" name="plik[]" />
  26. </div>
  27. <div class="upload1">
  28. Server:
  29. <select name="link[]" >
  30. <option>Wybierz hosting upload</option>
  31. <?php $result = mysql_query("SELECT * FROM serwery"); while($tier = mysql_fetch_array( $result )) { echo '<option value="'.$tier['id'].'">'.$tier['nazwa'].'</option>'; } ?>
  32. </select>
  33. </div>
  34. </div>
  35. <div>
  36. <input type="button" value="Załącz kolejny plik" onclick="dodaj_element('pliki');" />
  37. <input type="submit" name="submit" value="Wyślij" />
  38. </div>
  39. </form>
  40. <script type="text/javascript">
  41. <!--
  42. function dodaj_element(kontener){
  43. var div = document.createElement('div');
  44. var div1 = document.createElement('div');
  45. var znacznik1 = '<option>Wybierz hosting upload</option><?php $result1 = mysql_query("SELECT * FROM serwery"); while($tier1 = mysql_fetch_array( $result1 )) { ?> <option value="<?php echo $tier1['id']; ?> "><?php echo $tier1['nazwa']; ?></option><?php } ?> ';
  46. div.innerHTML = ('Link: <input type="text" name="plik[]" />');
  47. var znacznik2 = '<select name="link[]" >' + znacznik1 +'</select>';
  48. div1.innerHTML = ('Server: ' + znacznik2);
  49. var kontener = document.getElementById(kontener);
  50. kontener.appendChild(div);
  51. kontener.appendChild(div1);
  52.  
  53.  
  54. }
  55. //-->
  56. </script>
  57.  
  58. <?php
  59.  
  60. $ilosc = count($_POST['plik']);
  61.  
  62. echo $ilosc;
  63. for ($i = 0; $i < $ilosc; $i++) {
  64. echo $_POST['plik'][$i].' - '.$_POST['link'][$i].'<br>';
  65.  
  66. }
  67.  
  68. ?>
  69. </body>
  70. </html>


Teraz próbuje ustalić limit ilości dodwanych pól. Np.: jeśli limit pól będzie 5 to więcej niż 5 pól się nie doda.
trueblue
  1. document.getElementById(kontener).querySelectorAll('input[name^="plik"]').length
lukasz92r
Mam kolejny problem chce teraz usuwać pola. Użułem metody removeChild i wszystko się miesza. Oto napisany skrypt:
  1. function usun_element(kontener){
  2. var x = document.querySelectorAll('input[name^="plik"]');
  3. var x0 = x.length * 2;
  4. var x1 = x0 - 2;
  5. var x2 = x0 - 1;
  6. var list = document.getElementById("pliki");
  7. document.getElementById("pliki1").innerHTML = x1 + ' - ' + x2 + ' - ' + x.length;
  8. if (x.length == 1) {
  9.  
  10. return false;
  11. } else {
  12. list.removeChild(list.childNodes[x1]);
  13. list.removeChild(list.childNodes[x2]);
  14. return true;
  15. }
  16. }
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.