Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] formularz
Wieczny
post
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 1
Dołączył: 21.03.2007

Ostrzeżenie: (60%)
XXX--


Witam i mam pytanie czy za pomocą technologi java mogę wykonać dynamiczny formularz tzn chodzi mi o taki np gdy user poda złe dane to zaraz po opuszczeniu pola kolor ramki sie zmieni na czerwony ? i obok np pojawi sie napis błąd !. ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
nexis
post
Post #2





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Cytat(Wieczny @ 24.06.2008, 23:26:17 ) *
Witam i mam pytanie czy za pomocą technologi java mogę wykonać dynamiczny formularz tzn chodzi mi o taki np gdy user poda złe dane to zaraz po opuszczeniu pola kolor ramki sie zmieni na czerwony ? i obok np pojawi sie napis błąd !. ?


Tak, ale prawdopodobnie pytasz o Javascript, a nie o Java.

Javascript to nie Java!

Ten post edytował nexis 24.06.2008, 22:45:22
Go to the top of the page
+Quote Post
Wieczny
post
Post #3





Grupa: Zarejestrowani
Postów: 191
Pomógł: 1
Dołączył: 21.03.2007

Ostrzeżenie: (60%)
XXX--


w takim razie czy JS da rade coś takiego zrobić ? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
nexis
post
Post #4





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Cytat(Wieczny @ 24.06.2008, 23:44:04 ) *
w takim razie czy JS da rade coś takiego zrobić ? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)


Poczytaj o funkcji onblur
Go to the top of the page
+Quote Post
Wieczny
post
Post #5





Grupa: Zarejestrowani
Postów: 191
Pomógł: 1
Dołączył: 21.03.2007

Ostrzeżenie: (60%)
XXX--


no dobra przeczytałem, zastanawia mnie jednak jak stworzyć warunek do js żeby wszytko było ładnie dynamicznie i jednocześnie js sprawdzało czy dane w formularzu są poprawne (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #6





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




To jest proste. Najważniejsze, musisz wiedzieć, czego taki walidator potrzebuje.

1. Potrzebuje identyfikator pola, które jest walidowane
2. Potrzebuje wartość tego pola
3. Potrzebuje nazwę rodzaju walidatora (chyba, że sam znajdzie na podtstawie id pola).

Znając te 2 (3) zmienne wstawiasz je do wywołania funkcji onchange='twojaFunkcjaWalidujaca(this.id, this.value)'
  1. function twojaFunkcjaWalidujaca(id, val, type)
  2. {
  3. // i co w tym trudnego? Prosty warunek na to, czy wartość jest określonego typu/dłogości itp.
  4. if(error)
  5. {
  6. document.getElementById(id).style.background='red';
  7. }
  8. else
  9. {
  10. document.getElementById(id).style.background='green';
  11. }
  12. }


Pozdrawiam
Go to the top of the page
+Quote Post
Wieczny
post
Post #7





Grupa: Zarejestrowani
Postów: 191
Pomógł: 1
Dołączył: 21.03.2007

Ostrzeżenie: (60%)
XXX--


Czy da rade aby po opuszczeniu pola obramowanie inputa zmieniło kolor ? bo póki co nawet nie umiem zmienić tła inputa tylko zmienia tło strony ktoś wytłumaczy (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Kod
<INPUT TYPE="TEXT" NAME="FIELD" SIZE=10 onfocus="bgColor='#000000'">


Ten post edytował Wieczny 25.06.2008, 00:18:06
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #8





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Podstawy html i JS. bgColor to kolor tła strony. Zrób tak, jak Ci napisałem.

Pozdrawiam.
Go to the top of the page
+Quote Post
Wieczny
post
Post #9





Grupa: Zarejestrowani
Postów: 191
Pomógł: 1
Dołączył: 21.03.2007

Ostrzeżenie: (60%)
XXX--


  1. <input type="text" name="pole1" onfocus="test()">
  2.  
  3.  
  4. <script language='javascript'>
  5. function test()
  6. {
  7. if(document.formularz.pole1.value=='xxx')
  8. {
  9. document.getElementById(id).style.background='red';
  10. }
  11. else
  12. {
  13. document.getElementById(id).style.background='green';
  14. }
  15. }


Nie śmiga (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) czego zapomniałem ? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Shili
post
Post #10





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Na razie masz tylko jednego inputa, bez formularza. Nie odwołasz się do niego poprzez document.formularz.pole1 to chyba jasne.
Albo dodaj odpowiedni znacznik form albo id dla inputa i odwołuj się przez document.getElementById

Po kolejne nie masz przekazywanego nic jako argumenty funkcji. Nie masz id inputa, a poprzez id próbujesz mu zmieniać kolor.

Po kolejne, jeśli chcesz, żeby po opuszczeniu pola zmieniało kolor, to nie onfocus, a onblur.

Przeczytaj jeszcze raz to co napisał Cysiaczek, tym razem z większym zrozumieniem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował Shili 25.06.2008, 11:52:20
Go to the top of the page
+Quote Post
Wieczny
post
Post #11





Grupa: Zarejestrowani
Postów: 191
Pomógł: 1
Dołączył: 21.03.2007

Ostrzeżenie: (60%)
XXX--


Śmigać śmiga tylko zastanawia mnie teraz fakt jak bez przeładowania strony mam dostarczyć zawartość pola input bo raczej nie przez $_POST[''] (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ani value.
  1. <form action='index.php' method=post>
  2. test<input id="1" type="text" name="pole1" onblur="test(id, type, value)">
  3. </form>
  4.  
  5. <script language='javascript'>
  6. function test(id, type, value)
  7. {
  8. if(document.getElementById.value=='ble')
  9. {
  10. document.getElementById(id).style.borderColor='red';
  11. }
  12. else
  13. {
  14. document.getElementById(id).style.borderColor='green';
  15. }
  16. }


Ten post edytował Wieczny 25.06.2008, 12:15:58
Go to the top of the page
+Quote Post
Shili
post
Post #12





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


To znaczy do czego dostarczyć? Do funkcji js, czy do strony index.php?

Ten post edytował Shili 25.06.2008, 12:16:28
Go to the top of the page
+Quote Post
Wieczny
post
Post #13





Grupa: Zarejestrowani
Postów: 191
Pomógł: 1
Dołączył: 21.03.2007

Ostrzeżenie: (60%)
XXX--


do funkcji js
Go to the top of the page
+Quote Post
Shili
post
Post #14





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Nie przeczytałeś tego, co pisał Ci Cysiaczek.

Cytat
Znając te 2 (3) zmienne wstawiasz je do wywołania funkcji onchange='twojaFunkcjaWalidujaca(this.id, this.value)'

Widzisz różnicę? Nie sugeruj się liczbą przekazywanych atrybutów oczywiście ani inną nazwą funkcji.

Dalej:
Kod
if(document.getElementById.value=='ble')

Porównaj sobie to wyrażenie napisane przez Ciebie z innymi wyrażeniami getElementById, które masz w swoim skrypcie. Czegoś brakuje.

Popraw to, a z pewnością będzie działać.
Go to the top of the page
+Quote Post
Wieczny
post
Post #15





Grupa: Zarejestrowani
Postów: 191
Pomógł: 1
Dołączył: 21.03.2007

Ostrzeżenie: (60%)
XXX--


Dobra wielkie dzięki działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a i to przykładowy kod jak by ktoś miał ten sam problem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

  1. <form action='index.php' method=post>
  2. test<input id="1" type="text" name="pole1" onchange="test(this.id, this.type, this.value)">
  3. </form>
  4.  
  5. <script language='javascript'>
  6. function test(id, type, value)
  7. {
  8. if(document.getElementById(id).value=='xxx')
  9. {
  10. document.getElementById(id).style.borderColor='red';
  11. }
  12. else
  13. {
  14. document.getElementById(id).style.borderColor='green';
  15. }
  16. }
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 - 21:51