IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Neaktivní uživatel:24.10.2013 19:56

Zdravíčko,

pokouším se o validaci inputů formu, ale můj kód se rozhodl u metody $(element).val() vracet undefined

<form id="form" action="mailSender.php" method="post">
        <table>
          <tr>
            <td>
              <textarea id="form-message" name="message">Vaše zpráva</textarea>
            </td>
            <td>

              <input id="form-name" type="text" name="sender-name" placeholder="Vaše jméno a příjmení"><br>
              <input id="form-email" type="text" name="sender-email" placeholder="Váš email"><br>
              <input id="form-submit" type="submit" value="Odeslat"> <input type="reset" value="Vymazat">
              <input class="invisible" type="text" name="name" value="name">
            </td>
        </table>
     </form>
$("form").submit(function (e){
        e.preventDefault();
      var isEmailValid = IsEmail($('#form-email').val());
      var isNameValid = false;
      var isMessageValid = false;

      if ($('#form-name').val() && $('#form-name').val().length > 10 && $('#form-message').val().trim().replace(/\s+/gi, ' ').split(' ').length == 2) isNameValid = true;
      if ($('#form-message').val() && $('#form-message').val().length > 25) isMessageValid = true;

      var message = "Opravte prosím následující položky formuláře:\n";
      if (!isEmailValid) message += "\nZadejte platný email";
      if (!isNameValid) message += "\nZadejte platné jméno i příjmení!";
      if (!isMessageValid) message += "\nMinimální délka zprávy je 25 znaků";

      if (!isEmailValid || !isMessageValid || !isNameValid){
        e.preventDefault();
        alert($('#form-email').val() + "->" + $('#form-email').val().length);
        alert($('#form-message').val() + "->" + $('#form-message').val().length);
        alert($('#form-name').val() + "->" + $('#form-name').val().length);
        alert(message);
      }
    });

Ze zoufalosti jsem se pokusil vypsat všechny hodnoty inputů, ovšem vždy to spadne protože -> undefined. Proč?

Odpovědět
24.10.2013 19:56
Neaktivní uživatelský účet
Avatar
Silvinios
Tvůrce
Avatar
Silvinios:31.10.2013 19:01

Jsi si jistý, že undefined vrací $(element).val()? Nechybí tam funkce IsEmail?

 
Nahoru Odpovědět
31.10.2013 19:01
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.