Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML][JavaScript]Wyskakujący komunikat, Wyskakujący komunikat
Szunaj85
post
Post #1





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Poniższy skrypt przedstawia taką sytuację, że kiedy użytkownik nie zaznaczy żadnej odpowiedzi wyskakuje komunikat.
  1. function spr()
  2. {
  3. if(document.getElementById('glos1').checked || document.getElementById('glos2').checked){
  4. return true;
  5. }
  6. else {
  7. alert('Wybierz odpowiedź,');
  8. return false;
  9. }
  10. }
  11. <form action="" method="post" onsubmit="return spr();">
  12. <input type="radio" name="glos" id="glos1" value="1" />Tak<br />
  13. <input type="radio" name="glos" id="glos2" value="2" />Nie<br />
  14. <input type="submit" value="Zagłosuj" />
  15. </form>

Ja jednak mam taką sytuację jak poniżej. Owszem chcę żeby komunikat wyskakiwał tak jak wyżej, ale gdy użytkownik nie zaznaczy jednej z trzech odpowiedzi w każdej grupie odpowiedzi.
  1. <b>Pytanie 1</b>
  2. <tr>
  3. <td><input type="radio" name="1" value="a">Odpowiedź<br /></td>
  4. </tr>
  5. <tr>
  6. <td><input type="radio" name="1" value="b">Odpowiedź<br /></td>
  7. </tr>
  8. <tr>
  9. <td><input type="radio" name="1" value="c">Odpowiedź<br /></td>
  10. </tr>
  11. <b>Pytanie 2</b>
  12. <tr>
  13. <td><input type="radio" name="2" value="a">Odpowiedź<br /></td>
  14. </tr>
  15. <tr>
  16. <td><input type="radio" name="2" value="b">Odpowiedź<br /></td>
  17. </tr>
  18. <tr>
  19. <td><input type="radio" name="2" value="c">Odpowiedź<br /></td>
  20. </tr>
  21. <input type="submit" value="Odpowiedz" />

A jeszcze lepiej gdyby można to za pomocą PHP zrobić.

Ten post edytował Szunaj85 29.10.2008, 12:39:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sowiq
post
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Mój sposób jest o tyle dobry, że nie ma znaczenia ile masz pytań i po ile do nich odpowiedzi. Jest całkowicie elastyczny, ale pod warunkiem, że HTML będzie miał taką strukturę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) W innym wypadku potrzebna będzie niewielka modyfikacja.

HTML:
  1. <form id="myForm" onsubmit="return checkForm();" ...>
  2. <ul>
  3. <li><input ...></li>
  4. <li><input ...></li>
  5. <li><input ...></li>
  6. </ul>
  7. <ul>
  8. <li><input ...></li>
  9. <li><input ...></li>
  10. <li><input ...></li>
  11. </ul>
  12. </form>



JS:
Kod
function checkForm(){
    var uls = document.getElementById('myForm').getElementsByTagName('ul');
    var inputs;
    var checked;
    
    for(var i = 0; i < uls.length; ++ i){
        inputs = uls[i].getElementsByTagName('input');
        
        checked = false;
        for(var n = 0; n < inputs.length; ++ n){
            if(inputs[n].checked){
                checked = true;
                break;
            }
        }
        if(!checked){
            alert('Wypełnij wszystkie pola!');
            return false;
        }
    }
    return true;
}


ps. mogą być literóki - pisane z palca

Ten post edytował sowiq 31.10.2008, 15:33:43
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: 27.12.2025 - 09:08