Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript]Sprawdzanie czy pola formularza się powtarzają
Forum PHP.pl > Forum > Przedszkole
zeetor
Witam

Mam 10 pól wyboru rozwijanych...i chciałbym aby nie można było zatwierdzic wyboru jeśli w dwóch (lub więcej polach) wybór się powtórzy...

Na razie kombinuje z czymś takim: przenoszę pola do zmiennych w php... a później za pomocą pętli i if porównuje je ze sobą tzn
Jeżeli Pole1=Pole2 to wróć ...
Jeżeli Pole1=Pole3 to wróć

No ale wydaje mi sie to troche nieefektywne...szczególnie że na razie pól jest 10... ale jak będzie 100??

dz i pozdr
skowron-line
  1. function compare(){
  2. var sel1 = document.getElementById( 'select1' );
  3. sel1Value = sel1.options[ sel1.selectedIndex ].value;
  4.  
  5. var sel2 = document.getElementById( 'select2' );
  6. sel2Value = sel2.options[ sel2.selectedIndex ].value;
  7.  
  8. if(sel1Value == sel2Value )
  9. document.getElementById( 'submit' ).disabled = true;
  10. else
  11. document.getElementById( 'submit' ).disabled = false;
  12. }

  1. <select name="sel1" onchange="compare();">
  2. <option>.....</option>
  3. <select name="sel2" onchange="compare();">
  4. <option>...</option>

No ale zawsze można to zrobić duuuużo lepiej
z wykorzystaniem pętli i tablic.
zeetor
Pozmieniałem nazwy zmiennych set1 i set2 na pozycja1 i pozycja2...i na razie dodałem
onchange="compare();" tylko do dwóch pól... i nic...nadal można zatwierdzić dwa takie same wybory...

no chyba żadnego błędu nie popełniłem przy zmianie nazw zmiennych...

CODE
<script>



function compare(){

var pozycja1 = document.getElementById( 'select1' );

pozycja1Value = pozycja1.options[ pozycja1.selectedIndex ].value;



var pozycja2 = document.getElementById( 'select2' );

pozycja2Value = pozycja2.options[ pozycja2.selectedIndex ].value;



if(pozycja1Value == pozycja2Value )

document.getElementById( 'submit' ).disabled = true;

else

document.getElementById( 'submit' ).disabled = false;

}



skowron-line
Jeżeli kwój kod wygląda prawie jak ten:
  1. <script type="text/javascript">
  2.  
  3.  
  4.  
  5. function compare(){
  6.  
  7. var pozycja1 = document.getElementById( 'select1' );
  8.  
  9. pozycja1Value = pozycja1.options[ pozycja1.selectedIndex ].value;
  10.  
  11.  
  12.  
  13. var pozycja2 = document.getElementById( 'select2' );
  14.  
  15. pozycja2Value = pozycja2.options[ pozycja2.selectedIndex ].value;
  16.  
  17.  
  18.  
  19. if(pozycja1Value == pozycja2Value )
  20.  
  21. document.getElementById( 'submit' ).disabled = true;
  22.  
  23. else
  24.  
  25. document.getElementById( 'submit' ).disabled = false;
  26.  
  27. }
  28.  
  29.  
  30.  
  31. <select name="select" id="select1" onchange="compare();">
  32. <option value="1">1</option>
  33. <option value="2">2</option>
  34.  
  35. <select name="select" id="select2" onchange="compare();">
  36. <option value="1">1</option>
  37. <option value="2">2</option>
  38.  
  39. <input type="submit" id="submit" value="click" disabled="true">


to bedzie dobrze
zeetor
dz kilka poprawek i wszystko gra
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.