Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: checkbox and submit
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
acztery
witam ma ktoś coś takiego ze jak zaznacze checkbox to staje sie mozliwe klikniecia w guzik submit , a jak jest odznaczony to przycis jest szary taki wyblakły ustawiony na disabled o ile sie nie myle
sinq
Witam winksmiley.jpg

  1.  
  2. <script language="javascript">
  3.  
  4. function Sprawdz() {
  5.   if(document.Forma.czekbox.checked)
  6.   {
  7.      document.Forma.czekbox.checked = true;
  8.      document.Forma.potwierdzenie.disabled = false;
  9.   }
  10.      else
  11.   {
  12.   if(!document.Forma.czekbox.checked)
  13.   {
  14.      document.Forma.czekbox.checked = false;
  15.      document.Forma.potwierdzenie.disabled = true;
  16.   }
  17.   }
  18. }
  19.  
  20.  
  21. </head>
  22. <body OnLoad="Sprawdz()">
  23.  
  24. <form name="Forma">
  25.   <input type="checkbox" name="czekbox" OnClick="Sprawdz()">Zatwierdz<br>
  26.   <input type="submit" name="potwierdzenie" value="Wyślij">
  27. </form>
  28.  
  29. </body>
  30. </html>
VanPersie
Jak zrobic cos takiego jak powyżej ale by dzialalo w taki sposób ze musza byc z kilku zaznaczone minimum 3 pola typu CheckBox i wtedy przycisk submit zostaje odblokowany? Natomiast jesli są mniej niż 3 pola zaznaczone wyświetla się komunikat?

Dzięki za pomoc :-)
nowotny
Na co dzień raczej nie zajmuje się javascript ale takie coś wymodziłem... Pewnie można prościej...
Kod
<html>
<head>

<script language="javascript">

function Sprawdz() {
    var a=0;

    checkboxes = document.getElementsByTagName('input');
    for(j = 0; j < checkboxes.length; j++){
        if(checkboxes[j].type=='checkbox' && checkboxes[j].checked==true) a++;
    }
    if (a>=3) document.form1.potwierdzenie.disabled = false;
    else document.form1.potwierdzenie.disabled = true;

}

</script>

</head>
<body OnLoad="Sprawdz()">

<form name="form1">
<input type="checkbox" name="cz1" OnClick="Sprawdz()">Zatwierdz<br>
<input type="checkbox" name="cz2" OnClick="Sprawdz()">Zatwierdz<br>
<input type="checkbox" name="cz3" OnClick="Sprawdz()">Zatwierdz<br>
<input type="checkbox" name="cz4" OnClick="Sprawdz()">Zatwierdz<br>
<input type="checkbox" name="cz5" OnClick="Sprawdz()">Zatwierdz<br>

  <input type="submit" name="potwierdzenie" value="Wyślij">
</form>

</body>
</html>
VanPersie
Dzięki, a jak dodac do tego alerta z tekstem?
skowron-line
A gdzie chcesz tego alerta
składnia jest dosyć prosta
  1. alert( 'alert' );


Ciężko jest źle zastosować
nowotny
Ale do czego...? w którym momencie ten alert miałby wyskakiwać...?
VanPersie
No ten alert mialby wyskakiwac w przypadku jesli sa zanaczone mniej niż 3 checkboxy :-)
nowotny
No ale w którym momencie... jakaś akcja musi wywoływać ten alert...
VanPersie
No wprzypadku klikniecia w submit kiedy mniej niz 3 checkboxy sa zaznaczone
nowotny
No ale wtedy submit jest nieaktywny więc nie ma jak w niego kliknąć... :/

No ale niech ci będzie...

  1.  
  2. <script language="javascript">
  3.  
  4. function Sprawdz() {
  5. var a=0;
  6.  
  7. checkboxes = document.getElementsByTagName('input');
  8. for(j = 0; j < checkboxes.length; j++){
  9. if(checkboxes[j].type=='checkbox' && checkboxes[j].checked==true) a++;
  10. }
  11. if (a>=3) {
  12. document.form1.potwierdzenie.disabled = false;
  13. return true;
  14. }
  15. else {
  16. document.form1.potwierdzenie.disabled = true;
  17. return false;
  18. }
  19.  
  20. }
  21. function Spr(){
  22. if(Sprawdz()==false) alert('Musisz zanaczyc co najmniej 3 opcje');
  23. }
  24.  
  25.  
  26. </head>
  27. <body OnLoad="Sprawdz()">
  28.  
  29. <form name="form1">
  30. <input type="checkbox" name="cz1" OnClick="Sprawdz()">Zatwierdz<br>
  31. <input type="checkbox" name="cz2" OnClick="Sprawdz()">Zatwierdz<br>
  32. <input type="checkbox" name="cz3" OnClick="Sprawdz()">Zatwierdz<br>
  33. <input type="checkbox" name="cz4" OnClick="Sprawdz()">Zatwierdz<br>
  34. <input type="checkbox" name="cz5" OnClick="Sprawdz()">Zatwierdz<br>
  35.  
  36. <input type="submit" name="potwierdzenie" value="Wyślij" OnMouseDown="Spr()">
  37. </form>
  38.  
  39. </body>
  40. </html>
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.