Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sprawdzanie czy pole zostało wypełnione (formularz)
mateuszpi
post
Post #1





Grupa: Zarejestrowani
Postów: 140
Pomógł: 0
Dołączył: 11.09.2006
Skąd: Jaworzno

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


Witam

mam formularz z polem: <input type="checkbox" value="test" name="pole6">

i teraz pytanie. jak sprawdzać w js czy to pole zostało uzupełnione questionmark.gif

znalazłem skrypt
  1. <input type="checkbox" value="" name="pole6">
  2.  
  3. <script language="javascript">
  4. function checkbox(){
  5. if(document.formularz.pole6.checked==false){
  6. alert("Nie zaznaczyłeś pola");
  7. return false;
  8. }
  9. return true;
  10. }


jednalk niestety strona jest używana w połączeniu z smart i znaki { } nie mogą być używane. czy jest możliwosć zrobienia tego tak aby smarty sie nie czepiały questionmark.gif (wiem że moge w smartach zmieniać te znaczniki na inne ale to wiąże się z przerabianie mcałej strony) jeśli się nie da to trudno zrobie sprawdzanie w PHP chociaż wolałbym aby obyło się bez tego biggrin.gif

Mateusz
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
znaki { } nie mogą być używane. czy jest możliwosć zrobienia tego tak aby smarty sie nie czepiały

Manual sie klania:
Kod
{literal}twoj kod z {}{/literal}


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mateuszpi
post
Post #3





Grupa: Zarejestrowani
Postów: 140
Pomógł: 0
Dołączył: 11.09.2006
Skąd: Jaworzno

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


sorki nie pomyślałem że to takie proste sad.gif raczej kombinowałem jak wywalić te znaki {}jednak to nie koniec problemó. wygląda to tak:
  1. <form action="{$action}" method="POST" name="formularz">
  2. <input type="radio" name="abon" value="4">4<br />
  3. <input type="checkbox" value="" name="pole6"><br />
  4. {literal}<script language="javascript">function checkbox()
  5. {if(document.formularz.pole6.checked==false)
  6. {alert("Nie zaznaczyłeś pola");return false;}return true;}<
  7. /script> {/literal}<input type="submit" value="{$l_send}" onClick="checkbox()">

gdy pole nie jest zaznaczone to informacja się pojawia jednak formularz i tak jest wysyłany a ja nie che aby się wysyłał. poradzcie co zrobić jeszcze questionmark.gif

EDIT
sprawa załatwiona. dodałem return do checkbox() w submit i po sprawie :Ddzięki i do następnego problemu biggrin.gif (chyba niedługo)Mateusz

//coś wam się posty mieszają po użyciu szybkiej odpowiedzi i automatycznym łączeniu postów

Ten post edytował mateuszpi 3.09.2007, 14:38:35
Go to the top of the page
+Quote Post
cytrysek
post
Post #4





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 4.01.2008

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


a jak zmodyfikowac JS, tak aby mając kilka pól checkbox w stylu:

  1. <p>#<input type="checkbox" name="mode[]" ></p>
  2. <p>#<input type="checkbox" name="mode[]" ></p>
  3. <p>#<input type="checkbox" name="mode[]" ></p>


po zaznaczeniu ktoregokolwiek z nich moznabyloby wyslac formularz,
natomiast jesli nie wybrany zaden - pojawi sie alert?

pzdr.
PW

--------------------

znalazłem takie rozwiązanie:
przerobilem pare rzeczy i działa ladnie, moze sie komu przyda :

  1. function checkWyslij(f)
  2. {
  3. var group = f.elements["modtype[]"];
  4. var x, len = group.length;
  5. for(x=0; x<len; x++)
  6. {
  7. if(group[x].checked)
  8. {
  9. break;
  10. }
  11. }
  12.  
  13. if(x < len)
  14. {
  15. if(confirm("Czy na pewno chcesz zanzacyc te propozycje?"))
  16. {
  17. f.page_action.value = "modtype";
  18. f.submit();
  19. }
  20. else{
  21. alert ("Nie wysłano propozycji.");
  22. return false;
  23. };
  24. }
  25. else
  26. {
  27. alert("Musisz zaznaczyć chociaż 1 checkbox!");
  28. return false;
  29. }
  30. return true;
  31. }


poprawka i
mały hack:

1. oczywiście w poprzednim przykładzie wszystkie name checkboxów powinny wygladac tak:
  1. <p>#<input type="checkbox" name="modtype[]" ></p>


2. Skrypt nie działa, jeśli znajduje się tylko 1 checkox do wyboru.
dlatego można dodać do tego mały hack, a mianowicie umiescic ukryte pole o nazwie jak checkboxy:
  1. <input type="hidden" name="modtype[]" >

i teraz powinno byc ok.
pzdr.
PW

Ten post edytował cytrysek 26.03.2008, 00:26:28
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 Aktualny czas: 22.08.2025 - 04:23