Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mintAjax] Walidacja danych z formularza, Problem...
iMax
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 4.07.2006

Ostrzeżenie: (10%)
X----


Witam. Zaczynam przygoda z AJAXEM a konkretnie mintAjaxem, i mam pewien problem.
Postanowilem sobie zrobic walidacje wybranych pol w formularzu. Uzylem onChange, czyli gdy uzytkownik wpisze cos, a bedzie to zle to wyswietli sie blad nad formuarzem w divie.

js
  1. <?php
  2. function check_profile(pole, div)
  3. { req = mint.Request();
  4.  req.method = "post";
  5.  req.AddParam(pole, $(pole).value);
  6.  req.OnSuccess = function ()
  7.  { 
  8.  document.getElementById(div).innerHTML = req.responseText;
  9.  }
  10.  req.Send("profile.php?action=save");
  11. }
  12. ?>


html (jeszcze ze smartami)
  1. <form action="profile.php?action=save" method="post" name="form" id="form">
  2. <div class="page_content">
  3. <div class="page_title">Edycja profilu</div>
  4. <div class="edit_profile">
  5. {foreach from=$profile item=pr}
  6. <div class="section">Strona</div>
  7. <table width="100%" cellpadding="1" cellspacing="2">
  8. <tr>
  9. <td width="38%">Email:</td>
  10. <td width="62%">
  11. <div id="c_email"></div>
  12. <input name="email" type="text" id="email" value="{$pr.email}" size="22" maxlength="60" onChange="check_profile('email', 'c_email')" />
  13. </label>
  14. <div id="c_email_e"></div></td>
  15. </tr>
  16. <tr>
  17. <td>Nowe hasło:</td>
  18. <td>
  19. <div id="c_pass"></div>
  20. <input name="pass1" type="password" id="pass1" size="22" maxlength="50" onChange="check_profile('pass1', 'c_pass')"/>
  21. </label></td>
  22. </tr>
  23. <tr>
  24. <td>Powtórz hasło:</td>
  25. <td><input name="pass2" type="password" id="pass2" size="22" maxlength="50" onChange="check_profile('pass2', 'c_pass')"/></td>
  26. </tr>
  27. </table>
  28. ........


Niestety nie mam teraz dostepu do pliku php, ale jest on na 100%, bo bez ajaxa dzialal jak nalezy. Sprawdza na zasadzie if(cos tam zle) echo blad.
A wogole caly problem tkwi w tym, ze czy wypelnie pole email czy nie, to zawsze gdy zejde nizej i wypelnie hasla i zgadzaja sie ze soba to w divie od bledow z hasel wyskakuje moj blad: "Nie podano emaila" (sprawdza na zasadzie if(!isset($_POST['email'])) echo Nie podano emaila), chodz ten blad nie ma nic wspolnego z haslami (tak samo jest jak podam inne pola). W js przesylam tylko pole, wiec na moj chlopski rozum w skrypcie php powinno sie wykonac to gdzie jest $_POST['...'], a wiec skad tam inne pole. Jak na moje oko to wina js. Jesli tak, to jak go zmodyfikowac, zeby sprawdzal tylko w php gdzie jest bezposrednie odwolanie do danego pola.
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: 23.08.2025 - 18:27