Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

[js] Walidacja formularzy

Tworzenie dynamicznych stron internetowych z zastosowaniem JavaScript, jQuery, Ajax. Dowiedz się jak to zrobić, znajdź rozwiązania swoich problemów.

[js] Walidacja formularzy

Post 15.06.2007, 00:58:50

Kod: Zaznacz cały
function checkform (form)
{
          if (form.name.value == "") {
        alert( "Podaj nazwe / imie" );
        return false ;}
      return true ;
      
      if (form.char_set.value == "") {
        alert( "Podaj kodowanie strony" );
        return false ;}
      return true ;   
      
       if (form.sur_name.value == "") {
        alert( "Podaj nazwisko" );
        return false ;}
      return true ;
      
       if (form.email.value == "") {
        alert( "Podaj adres e-mail" );
        return false ;}
      return true ;
      
       if (form.title.value == "") {
        alert( "Podaj tutul" );
        return false ;}
      return true ;
      
       if (form.keywords.value == "") {
        alert( "Podaj slowa kluczowe" );
        return false ;}
      return true ;
      
       if (form.skin.value == "") {
        alert( "Podaj adres do skórki" );
        return false ;}
      return true ;
      
       if (form.skin_css.value == "") {
        alert( "Podaj adres do stytlu skórki" );
        return false ;}
      return true ;
      
       if (form.oldpass.value == "") {
        alert( "Podaj stare haslo" );
        return false ;}
      return true ;
      
       if (form.newpass.value == "") {
        alert( "Podaj nowe haslo" );
        return false ;}
      return true ;
      
       if (form.newpassbis.value == "") {
        alert( "Potwierdz nowe haslo" );
        return false ;}
      return true ;
      
       if (form.nick.value == "") {
        alert( "Podaj swoj nick" );
        return false ;}
      return true ;
}


Formularz

Kod: Zaznacz cały
Formularz kontaktowy:
<form id="form1" name="form1" method="post" action="index.php?id=plugin&plugin=email"  class="tekst" onsubmit="return checkform(this);">
  <table width="100%" border="0" cellspacing="0" cellpadding="0" id="form">
    <tr>
      <td colspan="2"><span class="tekst" id="chcek">Imie i Nazwisko:</span> <br />

        <input name="nazwa" type="text" class="tekst" id="chcek" size="50" />
        <br />
        <span class="tekst">Temat:</span><br />
        <input name="temat" type="text"  class="tekst" id="chcek" size="50"/>
        <br />
        <span class="tekst">Adres e-mail:</span> <br />
        <input name="email" type="text" class="tekst" size="50" />

        </td>
    </tr>
    <tr>
      <td colspan="2"><span class="tekst">Tresc wiadomosci</span><br />
        <textarea name="tresc" cols="48" rows="10" class="tekst" >
</textarea></td>
    </tr> 
  </table>
  <label>

  <input type="submit"  style="text" name="Submit" id="button" value="Wyślij" "/>
  </label>
</form>

Pytanie dla czego mi dzialac nie chce? skrypt podlinkowany jest tak aby go wgrało. Prosze o pomoc a reczej o poprawienie :)
didek
Dorian Dudzisz

Posty: 62
Dołączył(a): 28.08.2005
Lokalizacja: Lublin

Post 15.06.2007, 11:00:46

form.name.value

własność 'name' mogą posiadać różne obiekty (w szczególności pola formularza), dlatego radziłbym zmienić nazwę pola na inne, albo zamiast
Kod: Zaznacz cały
form.name.value
użyć
Kod: Zaznacz cały
form.elements['name'].value


Poza tym, Twój algorytm jest bezsensowny. Sprawdzasz jedno pole. Jeśli nie wypełnione, to return false. W przeciwnym wypadku return true. A co z resztą pól? Nie chcesz ich sprawdzać? Usuń wszystkie return true oprócz ostatniego.

No i na koniec, w przedstawionym formularzu brak jest wszystkich pól do których odnosi się skrypt, dlatego wywali błedy i skrypt sie nie wykona, dlatego wysłanie formularza będzie zawsze możliwe

Poza tym, w Twoim kodzie jest wiele elementów o ID="check". Atrybut ID jest unikalny w skali całego dokumentu, więc TYLKO JEDEN element może posiadać takie ID. Nie ma to związku z działaniem tego skryptu, ale po prostu standardy tego wymagają
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19785
Dołączył(a): 14.04.2002

Post 15.06.2007, 13:53:34

dzięki pomogło a teraz jedno jeszcze pytanie czyli dla każdego formularza muszę tworzyć oddzielna funkcje?
didek
Dorian Dudzisz

Posty: 62
Dołączył(a): 28.08.2005
Lokalizacja: Lublin


Powrót do JavaScript


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości

Hosting, Domeny, SSL

Subskrypcja

Mamy 51753 zarejestrowanych użytkowników.
Najnowszy użytkownik: Eduaryes


Nasi użytkownicy napisali:

  • 938015 wiadomości
  • w 247600 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)