Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> trzy warunki dla checkboxa
InosU31
post
Post #1





Grupa: Zarejestrowani
Postów: 221
Pomógł: 14
Dołączył: 11.03.2009
Skąd: Lubaczów

Ostrzeżenie: (0%)
-----


Witam

Postanowiłem tu napisać i poprosić was o pomoc ponieważ siedzę już kilka dni nad jedną rzeczą i nie mogę sobie z tym poradzić :-(

Mam checkboxa :
  1. <form action="?page={$_pag}&ram={$_ram}&chkp={$chkp}&chku={$chku}&lid={$lid}&plid={$plid}&mc={$mc}&cs={$cs}&ile={$ile}&str={$str}" method="POST" enctype="multipart/form-data" id="prod_uslugi">
  2. <div id="ramka_prod_usl">
  3. <div id="lab_produkt_usl"> Produkty</div>
  4. <div id="check_produkt_usl">
  5.  
  6. <div class="onoffswitch">
  7. <input type="checkbox" name="onoffprodukty" value="on" class="onoffswitch-checkbox" id="myonoffprodukty" {$_check_produkty} onChange="this.form.submit('')" >
  8. <label class="onoffswitch-label" for="myonoffprodukty">
  9. <span class="onoffswitch-inner"></span>
  10. <span class="onoffswitch-switch"></span>
  11. </label>
  12. </div>
  13.  
  14. </div>
  15. </div>
  16. <div id="ramka_prod_usl">
  17. <div id="lab_produkt_usl" style="padding-bottom:10px;">Usługi</div>
  18. <div id="check_produkt_usl">
  19.  
  20. <div class="onoffswitch">
  21. <input type="checkbox" name="onoffuslugi" value="on" class="onoffswitch-checkbox" id="myonoffuslugi" {$_check_uslugi} onChange="this.form.submit('')">
  22. <label class="onoffswitch-label" for="myonoffuslugi">
  23. <span class="onoffswitch-inner"></span>
  24. <span class="onoffswitch-switch"></span>
  25. </label>
  26. </div>
  27.  
  28. </div>
  29. </div>
  30.  
  31. </form>


i chciałbym aby ten formularz spełniał 3 kryteria:
1. Oba są zaznaczone (checked) - możemy także oba włączać
2. Jeśli pierwszy checkbox jest wyłączony i próbujemy wyłączyć drugi to automatycznie włącza się ten pierwszy
3. Jeśli drugi jest wyłączony i próbujemy wyłączyć pierwszy to drugi się włącza


podsumowując nie ma możliwości by oba były wyłączone.

Po części udało mi się to zrobić z tym że nie do końca bo gdy wyłączę pierwszy checkbox i próbuje wyłączyć drugi to ten pierwszy się włącza ale jak chce zrobić odwrotnie to przycisk nr 1 się blokuje i nie można go wyłączyć - dopiero jak jest włączony drugi to można go wyłączyć. Mam nadzieję że nie namieszałem za bardzo ;-)

a oto mój kod php:

  1. if (isset($_POST['onoffprodukty']) && $_POST['onoffprodukty'] == "on")
  2. {
  3. echo "post jest on: ".$_POST['onoffprodukty']."<br>";
  4. $news_login->tassign['_check_produkty'] = "checked";
  5. }
  6. else
  7. {
  8. echo "post jest off: ".$_POST['onoffprodukty']."<br>";
  9. $news_login->tassign['_check_produkty'] = "";
  10. //$_POST['onoffuslugi'] = "on";
  11. $news_login->tassign['_check_uslugi'] = "checked";
  12. }
  13.  
  14. if (isset($_POST['onoffuslugi']) && $_POST['onoffuslugi'] == "on")
  15. {
  16. echo "post1 jest on: ".$_POST['onoffuslugi']."<br>";
  17. $news_login->tassign['_check_uslugi'] = "checked";
  18. }
  19. else
  20. {
  21. echo "post1 jest off: ".$_POST['onoffuslugi']."<br>";
  22. $news_login->tassign['_check_uslugi'] = "";
  23. //$_POST['onoffprodukty'] = "on";
  24. $news_login->tassign['_check_produkty'] = "checked";
  25. }
  26.  
  27. if (empty($_POST['onoffprodukty']) && empty($_POST['onoffuslugi']))
  28. {
  29. $_POST['onoffprodukty'] = "on";
  30. $_POST['onoffuslugi'] = "on";
  31.  
  32. }


byłbym wdzięczny za wszelkie wskazówki :-)

Pozdrawiam serdecznie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
celbarowicz
post
Post #2





Grupa: Zarejestrowani
Postów: 253
Pomógł: 31
Dołączył: 30.03.2009
Skąd: Szczecin

Ostrzeżenie: (0%)
-----



KOd nie jest optymalny. Spełnia wymagane warunki. Wydaje mi się, że wszystko jest OK.
  1. <head>
  2. <script type="text/javascript">
  3.  
  4. function zaznacz1()
  5. {
  6. if((document.getElementById('x1').checked==false)&&(document.getElementById('x2').checked==true)){document.getElementById('t1').value=document.getElementById('x1').checked=false;
  7.  
  8. }
  9. if((document.getElementById('x1').checked==true)&&(document.getElementById('x2').checked==true)){document.getElementById('t1').value=document.getElementById('x1').checked=true;
  10.  
  11. }
  12. if((document.getElementById('x2').checked==false)&&(document.getElementById('x1').checked==false)){
  13. document.getElementById('t2').value=document.getElementById('x2').checked=true;
  14. document.getElementById('t1').value=false;
  15. }
  16. }
  17.  
  18.  
  19. function zaznacz2()
  20. {
  21. if((document.getElementById('x2').checked==false)&&(document.getElementById('x1').checked==true)){
  22. document.getElementById('t2').value=document.getElementById('x2').checked=false;
  23.  
  24. }
  25. if((document.getElementById('x2').checked==true)&&(document.getElementById('x1').checked==true)){
  26. document.getElementById('t2').value=document.getElementById('x2').checked=true;
  27. }
  28. if((document.getElementById('x2').checked==false)&&(document.getElementById('x1').checked==false)){
  29. document.getElementById('t1').value=document.getElementById('x1').checked=true;
  30. document.getElementById('t2').value=false;
  31. }
  32.  
  33.  
  34. }
  35.  
  36. </script>
  37. </head>
  38. <body >
  39. <form name="moj">
  40.  
  41. <input name="x1" id="x1" type="checkbox" name="grupa1" value="1" onClick="zaznacz1()"; checked="true" />
  42. <input type="text" id="t1" value="true"/>
  43. <input name="x2" id="x2" type="checkbox" name="grupa1" value="2" onClick="zaznacz2()"; checked="true" />
  44. <input type="text" id="t2" value="true"/>
  45. </form>
  46. </body>
  47. </html>
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  


Ten post edytował celbarowicz 28.11.2015, 10:39:47
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 10:19