Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][JavaScript], Walidacja pol w formularzu.
karol65
post 6.03.2009, 17:08:46
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 21.05.2008

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


Nie wiem za bardzo jak zabrać się za to:

- formularz składa się z kilku inputow, do których wpisywane są litery od A do F,
- użytkownik może wpisać tylko i wyłącznie te wartości które ma do wyboru, czy przykładowo od A do E,

Pytanie jak sprawdzić czy wpisał w pole A wartość A, jednocześnie sprawdzając czy nie wpisał przypadkiem w pole B wartości Z (której nie ma do wyboru?) - i podobnie z innymi polami i wartościami.

Nie wiem co tu zastosować? Jakiś loop w js? Jeśli ktoś mógłby coś podpowiedzieć będę wdzięczny, bo utkwiłem i nie wiem jak ruszyć z tym.

Dziękuje.

Ten post edytował karol65 6.03.2009, 17:14:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Legion
post 6.03.2009, 17:31:42
Post #2





Grupa: Zarejestrowani
Postów: 46
Pomógł: 1
Dołączył: 16.08.2008

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


http://forum.php.pl/index.php?showtopic=76...mp;#entry393126
Go to the top of the page
+Quote Post
matixrr
post 6.03.2009, 17:40:46
Post #3





Grupa: Zarejestrowani
Postów: 207
Pomógł: 44
Dołączył: 14.04.2007

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


Skoro może wpisac np. tylko A to czemu nie zrobisz pola wyboru (checkbox) i użytkownik będzie sobie odpowiednie zanzaczał?

Ten post edytował matixrr 6.03.2009, 17:44:26


--------------------
Pomogłem? Zmotywuj mnie do dalszej pracy i kliknij magiczny przycisk:

Go to the top of the page
+Quote Post
karol65
post 9.03.2009, 11:41:34
Post #4





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 21.05.2008

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


Z checkboxem byłoby super, ale nie wiem jak zrobić walidacje.

Cytat
A B C D E F
1 1 1 1 1 1
2 2 2 2 2 2
3 3 3 3 3 3
4 4 4 4 4 4



Po zaznaczeniu A1 znikają wartości 1 wszędzie.
Go to the top of the page
+Quote Post
kamil4u
post 9.03.2009, 15:07:55
Post #5





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Popatrz - "1" jest 0 indeksem tablicy A, B, C..., czyli robisz pętle, która przeleci po wszystkich elementach i blokuje te pola gdzie index == 0 (dla 1) smile.gif


--------------------
Go to the top of the page
+Quote Post
karol65
post 10.03.2009, 11:32:14
Post #6





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 21.05.2008

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


ooooo.... dzięki!

edit:

Wymodziłem coś takiego, ale nie za bardzo mi to działa jak powinno, może ktoś doradzi:

Kod
<script type="text/javascript">
function checkDepends(element) {
for(var i=0;i<element.form.elements.length;i++)
if(element.form.elements[i].className.indexOf("depends-" + element.name) != -1)
element.form.elements[i].disabled = element.checked;
else if(element.form.elements[i].className.indexOf("conflicts-" + element.name) != -1)
element.form.elements[i].disabled = !element.checked;
}
</script>


<FORM action="get.php" method="post">
<table>
  <tr><td>A</td><td>B</td><td>C</td><td>D</td></tr>
  <td><input type="checkbox" onclick="checkDepends(this);"  class="depends-windows" name="windows">1</td><td><input type="checkbox" onclick="checkDepends(this);" name="windows" class="depends-windows">1</td><td><input type="checkbox" name="aspdotnet" class="depends-windows">1</td><td><input type="checkbox" name="aspdotnet" class="depends-windows">1</td><tr>
   <td><input type="checkbox" onclick="checkDepends(this);"  class="depends-windowsnew" name="windowsnew">2</td><td><input type="checkbox" onclick="checkDepends(this);"  class="conflicts-windowsnew" name="windowsnew">2</td></tr>
  
  </table>
  



<INPUT type="button"  onclick="chkForm(this.form);" value="Send"> <INPUT type="reset" >
</form>


Chodzi o to by zaznaczając np A1 wyłączyły się wszystkie pola 1 ( od A do B ) oraz kolumna pod A, analogicznie reszta. Nie wiem czy to nie jest zbyt skomplikowane. A przywrócić można tylko resetem wszystko.

Ten post edytował karol65 11.03.2009, 11:46:40
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: 14.08.2025 - 08:17