Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP]Blokowanie Checkboxów - problem z przesyłem
mokater
post 9.02.2013, 13:54:07
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 8.01.2013

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


Hej, mam pewien problem. Otóż napisałem iż po określonym czasie blokuje wszystkie checkboxy i należy wysłać test do oceny.
Blokuje checkboxy poleceniem:
$('.oknoTestu input[type=checkbox]').attr('disabled', true);
Problem polega na tym iż jeżeli wysyłam zablokowane checkboxy to nie wysyłają wartości ze sobą. Jeśli zakomentuje wyżej wymienioną linijkę wszystko działa.
Gdzie może tkwić problem ?

Przykład jednego checkboxa:
  1. <input type='checkbox' id=check1 name=poprawna[] value = "<?php echo $wiersz['odp1'] ?>" /> <?php echo $wiersz['odp1'] ?><br/>


A w takiej pętli dokonuje sprawdzenia checkboxów
  1. foreach ($_POST['poprawna'] as $klucz => $wartosc){
  2. ...
  3. }


Takie komunikaty mi się pojawiają jeśli blokowanie checkboxów działa:
  1. Notice: Undefined index: poprawna in C:\xampp\htdocs\testyEgzaminazyjne\wykonajTest.php on line 229
  2.  
  3. Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\testyEgzaminazyjne\wykonajTest.php on line 229

Go to the top of the page
+Quote Post
Michasko
post 9.02.2013, 14:38:36
Post #2





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

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


Problem tkwi w tym, że pola 'disabled' nie są przesyłane. Masz 2 wyjścia.
1. za każdym razem, gdy ktoś zmieni wartość pola - zmieniasz ją spowrotem, lub
2. usuwasz atrybut 'disabled' w momencie przesyłania formularza.
[JAVASCRIPT] pobierz, plaintext
  1. $('form').submit(function() {
  2. $('input[type="checkbox"]').removeAttr('disabled');
  3. }
[JAVASCRIPT] pobierz, plaintext


Ten post edytował Michasko 9.02.2013, 14:40:08


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
mokater
post 9.02.2013, 14:48:03
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 8.01.2013

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


A jak mam zamieśić usuwanie atrybutu disabled, ponieważ wyrzuca mi błąd składniowy.
<script type="text/javascript">
$(function() {
$('.oknoTestu input').ezMark();

});

</script>


Mam na myśli jak wstawić te linie kodu ?
$('form').submit(function() {
$('input[type="checkbox"]').removeAttr('disabled');
}

Ten post edytował mokater 9.02.2013, 14:48:40
Go to the top of the page
+Quote Post
Michasko
post 9.02.2013, 16:24:37
Post #4





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

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


Używaj BBCode.
A odpowiadając na pytanie - jeśli wyrzuca Ci błąd, to powiedz jaki. Kod umieszczasz tak samo, jak ten powyżej (z ezMark() ). Czyli u Ciebie:
[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. $(function() {
  3. $('.oknoTestu input').ezMark();
  4.  
  5. $('form').submit(function() { // za 'form' musisz podstawić np. atrybut ID swojego formularza - o ile na stronie jest więcej niż jeden formularz
  6. $('input[type="checkbox"]').removeAttr('disabled');
  7. });
  8. });
  9.  
  10. </script>
[JAVASCRIPT] pobierz, plaintext


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
mokater
post 9.02.2013, 16:29:30
Post #5





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 8.01.2013

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


Super, działa !
Dzięki Wielkie.
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: 23.04.2024 - 21:51