Při přidaní dalšího produktu nevalidovat form – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Při přidaní dalšího produktu nevalidovat form – JavaScript, AJAX, jQuery – Fórum – Programujte.comPři přidaní dalšího produktu nevalidovat form – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

jAkErCZ0
Stálý člen
20. 6. 2018   #1
-
0
-

Zdravím,

mám problém mám form na kterém mám udělaný custom valider a mám problém že jakmile chci přidat další řádek spustí to validaci celého formu ale já chci aby když kliknu na tlačítko přidat produkt tak mi to nebude validovat a jakmile budu chtít odeslat form poté to bude validovat..

Došel jsem do fáze kdy do inputu který má přidat nový řádek se přidá atribut clicked="true"

   $(".validate-form").submit(function(){
            var check = true;

           for(var i=0; i<input.length; i++) {
               if(validate(input[i]) == false){
                   showValidate(input[i]);
                   check=false;
               }
           }

           return check;
       });

    $(".validate-form input[type=submit]").click(function() {
        $("input[type=submit]", $(this).parents(".validate-form ")).removeAttr("clicked");
        $(this).attr("clicked", "true");
    });

Možnost přidat produkt:

<input type="submit" name="multiplier[multiplier_creator]" value="Další produkt" formnovalidate="" data-nette-validation-scope="[&quot;multiplier&quot;]" class="btn btn-form width-100 mb-xs">

Odeslání celého formu:

<button type="submit" onsubmit="return validateForm()" class="contact100-form-btn" name="_submit" value="">Nezávazně poptat</button>

Celý js který validuje form:


(function ($) {
    "use strict";

    /*==================================================================
    [ Validate ]*/
    var input = $('.validate-input .input100');

    $(".validate-form").submit(function(){
            var check = true;

           for(var i=0; i<input.length; i++) {
               if(validate(input[i]) == false){
                   showValidate(input[i]);
                   check=false;
               }
           }

           return check;
       });

    $(".validate-form input[type=submit]").click(function() {
        $("input[type=submit]", $(this).parents(".validate-form ")).removeAttr("clicked");
        $(this).attr("clicked", "true");
    });



    $('.validate-form .input100').each(function(){
        $(this).focus(function(){
           hideValidate(this);
        });
    });

    function validate (input) {
        if($(input).attr('type') == 'email' || $(input).attr('name') == 'email') {
            if($(input).val().trim().match(/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{1,5}|[0-9]{1,3})(\]?)$/) == null) {
                return false;
            }
        }
        else {
            if($(input).val().trim() == ''){
                return false;
            }
        }
    }

    function showValidate(input) {
        var thisAlert = $(input).parent();

        $(thisAlert).addClass('alert-validate');
    }

    function hideValidate(input) {
        var thisAlert = $(input).parent();

        $(thisAlert).removeClass('alert-validate');
    }
    

})(jQuery);

Díky všem za pomoc nebo radu.

Nahlásit jako SPAM
IP: 109.183.230.–
peter
~ Anonymní uživatel
4007 příspěvků
20. 6. 2018   #2
-
0
-

To jako vazne? :)

Možnost přidat produkt: <input type="submit"
Divej...Vzdyt mu rikas, ze ma pouzit submit, ze ma slouzit k odeslani formulare, zkus pouzit  type=button.

Nahlásit jako SPAM
IP: 193.84.204.–
peter
~ Anonymní uživatel
4007 příspěvků
20. 6. 2018   #3
-
0
-

A dal je to taky celkem zajimave, jestli to tak muzu oznacovat :)

<button type="submit" onsubmit="return validateForm()"
- Button tag je autoaticky submitem. Type u nej neexistuje, aspon v html4 ne.
- Onsubmit udalost se zachytava na formulari <form onsubmit="...">, opet u buttonu neexistuje. Pokud to funguje, je to spis nahoda, bonus toho prohlizece.
 

Jako zdroj doporucuji prosmejdit jakpsatweb.cz
https://www.jakpsatweb.cz/…rmulare.html
https://www.jakpsatweb.cz/…dalosti.html
'Události formuláře a formulářových polí'
'onSubmit | těsně před odesláním formuláře, příklad | form' - lick na priklad...
https://www.jakpsatweb.cz/…zruseni.html

Nahlásit jako SPAM
IP: 193.84.204.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý