Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/js] Znaczniki <form> i konflikt z ajax'em
zezu
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 14.03.2006

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


Dlaczego tak się dzieję : Mam formularz w którym każe z pól jeśli zachodzi dla niego onBlur jest walidowane (dzięki ajaxowi) i obok pola pojawia się znaczek informujący czy jest ok czy nie.

Tak to ma miejsce jeśli formularza nie ma w znacznikach <form> , wtedy ajax nie działa (nie waliduje).

Nie wiem jak to obejść , pozdrawiam (ps.nie chcę wysyłać formualrza ajaxem)

Ten post edytował zezu 26.10.2006, 19:17:51
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zezu
post
Post #2





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 14.03.2006

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


Sorry panowie - wdarł się błąd ... jeśli są znaczniki form skrypt nie działa (nie waliduje , a faktycznie ajax powinien zbierać wartości pół po ich ID). Jeśli znaczniki mam usunięte skrypt waliduje - a wystaczy wpisać tylko <form> i </form> i nie działa niestety.

Chciałem uniknąć wklejenia kodu bo wydaje mi się że dodanie znaczników <form> nie powinno zmieniać dzałania javascriptu (mam nadzieję że się nie mylę).

Kod formularza
  1. <tr>
  2. <td class="bold" align="right">Twój nick : </td>
  3. <td align="left"><input type="text" class="login2" name="nick" id="nick" onClick="nick()" ></td>
  4. <td class="h" align="right"> (max 12 znaków) </td>
  5. <td align="left" width="110px" class="red1"><div id="1"> </div></td>
  6. </tr>
  7. <tr>
  8. <td class="bold" align="right">Twój email : </td>
  9. <td align="left"><input type="text" class="login2" name="email" id="email" onBlur="email()" ></td>
  10. <td class="h1" align="right"> (max 25 znaków) </td>
  11. <td align="left" width="110px" class="red1"><div id="2"> </div></td>
  12. </tr>
  13. </form>


Kod funkcji dla advAjax
  1. function email(){
  2. $email = document.getElementById('email').value;
  3. $_div=2;
  4.  
  5. advAJAX.setDefaultParameters({
  6. onInitialization : function(obj) { document.getElementById(obj.tag).innerHTML = "Czekaj !"; },
  7. onLoading : function(obj) { document.getElementById(obj.tag).innerHTML = "Sprawdzam !"; },
  8. onSuccess : function(obj) { document.getElementById(obj.tag).innerHTML = "" + obj.responseText; },
  9. onError : function(obj) { document.getElementById(obj.tag).innerHTML = "Blad !!!"; }
  10. });
  11. advAJAX.get({ url: "./s/c_email.php?email="+$email, tag: $_div });
  12.  
  13. }


Sktypt php sprawdzający ma tylko zwrócić jedna z dwóch wartości i jest poprawny
Obramowanie mam niebieskie.
Go to the top of the page
+Quote Post
jarrod
post
Post #3





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


Cytat(zezu @ 26.10.2006, 18:18:17 ) *
  1. <div id="1"> </div>
  2. <div id="2"> </div>

id nie może zaczynać się od znaków zpecjalnych ani od liczb. Dozwolone pierwsze znaki to: [a-zA-Z0-9_].

Zmień id na np d_1 i d_2 i powinno zadziałać

Ten post edytował jarrod 26.10.2006, 21:09:23
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: 2.10.2025 - 22:36