Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP]blokowanie submit
majsterpstryk
post 5.06.2010, 18:26:12
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 27.05.2010

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


  1.  
  2.  
  3. $id=mysql_query("SELECT * FROM uzytkownik where login='".$_GET['wybor']."'") or die(mysql_error());
  4. $user=mysql_fetch_array($id);
  5. echo"<form method='POST' action='/panela/index.php?link=uzytko' name='formularz'>";
  6. echo'<input type="radio" name="status[]" value="1" id="op1"'; if($user['status']=='user') { echo 'checked="checked"'; }echo'/>User<br>';
  7. echo'<input type="radio" name="status[]" value="2" id="op2"'; if($user['status']=='moderator') { echo 'checked="checked"';}echo'/>Moderator<br>';
  8. echo'<input type="radio" name="status[]" value="3" id="op3"'; if($user['status']=='admin') { echo 'checked="checked"';}echo'/>Administrator<br>';
  9. echo'<input type="submit" value="zmien" id="submit">';
  10. echo'</form>';

Mam formularz , ktory wyswietla mi 3 opcje , sprawdza w bazie jesli uzytkownik jest userem domyslnie zaznaczona jest ta opcja , chce do tego dorobic blokade przycisku zmien , tzw ze jesli uzytkownik jest userem i jesli jest zaznaczona ta opcja to przycisk zmien jest nieaktywny , dopiero staje sie aktywny jak wybiore inna opcje, wiem ze bylo sporo tego ale nic konkretnego nie znalazlem
Go to the top of the page
+Quote Post
tehaha
post 5.06.2010, 18:28:36
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


możesz spróbować tak:

  1. $id=mysql_query("SELECT * FROM uzytkownik where login='".$_GET['wybor']."'") or die(mysql_error());
  2. $user=mysql_fetch_array($id);
  3. echo"<form method='POST' action='/panela/index.php?link=uzytko' name='formularz'>";
  4. echo'<input type="radio" name="status[]" value="1" id="op1"'; if($user['status']=='user') { echo 'checked="checked"'; }echo'/>User<br>';
  5. echo'<input type="radio" name="status[]" value="2" id="op2"'; if($user['status']=='moderator') { echo 'checked="checked"';}echo'/>Moderator<br>';
  6. echo'<input type="radio" name="status[]" value="3" id="op3"'; if($user['status']=='admin') { echo 'checked="checked"';}echo'/>Administrator<br>';
  7. echo'<input type="submit" value="zmien" id="submit" disabled="disabled">';
  8. echo'</form>';

Go to the top of the page
+Quote Post
tehaha
post 5.06.2010, 18:48:53
Post #3





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


myślałem, że ma być na stałe zablokowany ale teraz to widzę, że chcesz żeby był zablokowany kiedy w radio wybrany jest user tak?
Go to the top of the page
+Quote Post
majsterpstryk
post 5.06.2010, 18:57:07
Post #4





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 27.05.2010

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


eh jeszcze inaczej biggrin.gif , chodzi o to ze powyzszy kod pobiera uzytkownikow z bazy , po wyborze uzytkownika wyswietlaja sie trzy opcje Admin , moder , user , jesli jest userem domyslnie jest zaznaczona opcja user i wtedy powinien byc przycisk zmien nieaktywny. a aktywny po wyborze np mod , czy teraz rozumiesz smile.gif ?
Go to the top of the page
+Quote Post
tehaha
post 5.06.2010, 19:06:12
Post #5





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


chyba rozumiem, czyli jeśli użytkownik jest już jako admin, to nie można zmienić na admin, itp

a więc tak:
domyślnie ustawiasz przycisk na nieaktywny, ponieważ zaznaczony będzie ten stopień, który jest obecnie, następnie funkcją javascript przy zmianie sprawdzasz który z nich został zaznaczony, jeżeli ten sam co był na początku to przycisk jest nieaktywny:
  1. if($user['status']=='user')
  2. {
  3. $current_id = 'op1';
  4. } elseif($user['status']=='moderator')
  5. {
  6. $current_id = 'op2';
  7. } elseif($user['status']=='admin')
  8. {
  9. $current_id = 'op3';
  10. }
  11. echo"<form method='POST' action='/panela/index.php?link=uzytko' name='formularz'>";
  12. echo'<input type="radio" name="status[]" value="1" id="op1" onclick="java script: check();"'; if($user['status']=='user') { echo 'checked="checked"'; }echo'/>User<br>';
  13.  
  14. echo'<input type="radio" name="status[]" value="2" id="op2" onclick="java script: check();"'; if($user['status']=='moderator') { echo 'checked="checked"';}echo'/>Moderator<br>';
  15.  
  16. echo'<input type="radio" name="status[]" value="3" id="op3" onclick="java script: check();"'; if($user['status']=='admin') { echo 'checked="checked"';}echo'/>Administrator<br>';
  17.  
  18. echo'<input type="submit" value="zmien" id="submit" disabled="disabled">';
  19.  
  20. echo'</form>';
  21. echo "<script type=\"text/javascript\">
  22. function check()
  23. {
  24. var radio = document.getElementById(\"$current_id\");
  25. var button_submit = document.getElementById(\"submit\");
  26. if(radio.checked == true)
  27. {
  28. button_submit.disabled = true;
  29. }else
  30. {
  31. button_submit.disabled = false;
  32. }
  33. }
  34. </script>";
Go to the top of the page
+Quote Post
tehaha
post 5.06.2010, 20:23:03
Post #6





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


a wkleiłeś to tak samo jak Ci dałem? bo zamiast $current_id powinno w skrypcie się pojawić op1, op2 lub op3, u mnie działa więc u Ciebie też musi, wklej cały kod do posta, może dałeś echo w apostrofach zamiast cudzysłowach

Ten post edytował tehaha 5.06.2010, 20:25:45
Go to the top of the page
+Quote Post
majsterpstryk
post 5.06.2010, 20:29:50
Post #7





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 27.05.2010

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


no wkleilem zywcem i nie dziala :/ , przeksztalcilem troche zeby funkcja byla z parametrem i tez nei dziala
  1. if($user['status']=='user')
  2. {
  3. $current_id = 'op1';
  4. } elseif($user['status']=='moderator')
  5. {
  6. $current_id = 'op2';
  7. } elseif($user['status']=='admin')
  8. {
  9. $current_id = 'op3';
  10. }
  11. echo"<form method='POST' action='/panela/index.php?link=uzytko' name='formularz'>";
  12. echo'<input type="radio" name="status[]" value="1" id="op1" onclick="java script: check($current_id);"'; if($user['status']=='user') { echo 'checked="checked"'; }echo'/>User<br>';
  13.  
  14. echo'<input type="radio" name="status[]" value="2" id="op2" onclick="java script: check($current_id);"'; if($user['status']=='moderator') { echo 'checked="checked"';}echo'/>Moderator<br>';
  15.  
  16. echo'<input type="radio" name="status[]" value="3" id="op3" onclick="java script: check($current_id);"'; if($user['status']=='admin') { echo 'checked="checked"';}echo'/>Administrator<br>';
  17.  
  18. echo'<input type="submit" value="zmien" id="submit" disabled="disabled">';
  19.  
  20. echo'</form>';
  21. echo "<script type=\"text/javascript\">
  22. function check(cos)
  23. {
  24. var radio = document.getElementById(\"cos\");
  25. var button_submit = document.getElementById(\"submit\");
  26. if(radio.checked == true)
  27. {
  28. button_submit.disabled = true;
  29. }else
  30. {
  31. button_submit.disabled = false;
  32. }
  33. }
  34. </script>";
Go to the top of the page
+Quote Post
tehaha
post 5.06.2010, 20:35:53
Post #8





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


już chyba rozumiem czemu skopiowane nie działa, tu masz działające, tylko usuń spacje między java script w inputach w onclick, bbcode ją dodaje i takie skopiowane stąd też mi nie działa:
  1. if($user['status']=='user')
  2. {
  3. $current_id = 'op1';
  4. } elseif($user['status']=='moderator')
  5. {
  6. $current_id = 'op2';
  7. } elseif($user['status']=='admin')
  8. {
  9. $current_id = 'op3';
  10. }
  11. echo"<form method='POST' action='/panela/index.php?link=uzytko' name='formularz'>";
  12. echo'<input type="radio" name="status[]" value="1" id="op1" onclick="java script: check();"'; if($user['status']=='user') { echo 'checked="checked"'; }echo'/>User<br>';
  13.  
  14. echo'<input type="radio" name="status[]" value="2" id="op2" onclick="java script: check();"'; if($user['status']=='moderator') { echo 'checked="checked"';}echo'/>Moderator<br>';
  15.  
  16. echo'<input type="radio" name="status[]" value="3" id="op3" onclick="java script: check();"'; if($user['status']=='admin') { echo 'checked="checked"';}echo'/>Administrator<br>';
  17.  
  18. echo'<input type="submit" value="zmien" id="submit" disabled="disabled">';
  19.  
  20. echo'</form>';
  21. echo "<script type=\"text/javascript\">
  22. function check()
  23. {
  24. var radio = document.getElementById(\"$current_id\");
  25. var button_submit = document.getElementById(\"submit\");
  26. if(radio.checked == true)
  27. {
  28. button_submit.disabled = true;
  29. }else
  30. {
  31. button_submit.disabled = false;
  32. }
  33. }
  34. </script>";
Go to the top of the page
+Quote Post
majsterpstryk
post 7.06.2010, 09:25:06
Post #9





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 27.05.2010

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


kurcze moj blad , wszystko pieknie dziala dzieki , poprostu wklejajac kod zgubilem zapytanie do bazy smile.gif

Ten post edytował majsterpstryk 7.06.2010, 10:53:50
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.06.2025 - 17:36