Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript]Pokazywanie błędu bez wysyłania formularza
Forum PHP.pl > Forum > Przedszkole
Morfi777
Witam,

Mam wrzucony taki skrpyt w Javie:
  1. <script type="text/javascript">
  2. function sh() {
  3. var przycisk = document.getElementById('com');
  4. var link = document.getElementById('com_link');
  5. var display_block_value = 'block';
  6. var display_none_value = 'none';
  7.  
  8. if (przycisk != null) {
  9. if(przycisk.style.display == display_block_value) {
  10. przycisk.style.display = display_none_value;
  11. link.innerHTML = '<img src="button.png" border="0" />';
  12. } else {
  13. przycisk.style.display = display_block_value;
  14. link.innerHTML = '<img src="button_usun.png" border="0" />';
  15. }
  16. }
  17. }



Który pokazuje i ukrywa formularz, który jest pod divem.

  1. <form method="post" name="1">
  2. <span class="txt">Fraza:</span> <input type="text" size="40" name="fraza"/> <span class="txt">Autor:</span> <input type="text" name="autor"/><br />
  3. <span class="txt"><br /><span> Wyjaśnienie:</span><br />
  4. <textarea rows="6" cols="60" name="wyjasnienie"></textarea><br/>
  5. <input type="submit" name="dodaj" value="Dodaj Frazę"/>
  6. </form>


oraz do tego jest skrypt sprawdzający zanim dane zostaną wysłane do bazy danych

  1. <?php
  2. if(!empty($_POST["fraza"])&&!empty($_POST["autor"])&&!empty($_POST["wyjasnienie"])){
  3. $sql="INSERT INTO admin ( fraza, autor, opis ) VALUES ( '".$_POST["fraza"]."','".$_POST["autor"]."','".$_POST["wyjasnienie"]."')";
  4. mysql_query ($sql) or die ("złe pytanie");
  5. }
  6. else{
  7. echo '<br /><div class="error">Nie wypełniłeś jakiegoś(iś) Pola(ól)</div>';
  8. }
  9. ?>


I teraz mój problem.
Chodzi o to, iż tekst "Nie wypełniłeś jakiegoś(iś) Pola(ól)" pokazuje się, ALE strona się odświeża po wysłaniu formularza, więc błąd pokazuje się, a formularz jest niewidoczny.
Jak zatrzymać wysyłanie formularza ? Tak, żeby te np. 2 dane były dalej widoczne i strona się nie odświeżyła ?


Pozdrawiam
Shili
W zdarzeniu onsubmit="return false;" dodaj wtedy, kiedy nie chcesz dopuścić do wysłania formularza. Względnie uwidocznij formularz po pokazaniu błędu - żeby strona się nie formularz się nie wysłał, a błąd pokazał musisz do tego użyć js - w tym wypadku dopiero gdy formularz przejdzie walidację js mógłbyś walidować go w php.
Morfi777
Niestety nie wiem jak sobie z tym poradzić.

W którym momencie umieścić walidację, tzn gdzie ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.