Module pattern und retrun false

messmar

Erfahrenes Mitglied
Guten Abend!

ich will ein Formular anhand eines kleinen jQuery-Script basiert auf - so zusagen - Module Pattern, zu validieren.

Der
PHP:
 return false;
wie ich es gebaut habe bzw. zu bauen versuche, funktioniert leider nicht

P.S. ich würde gerne den Aufbau und den Code-Konzept so belassen, da ich versuche mit dieser Art von Module Pattern, mich
vertraut zu machen... Ich hätte es anderwetig gefixt, aber ich würde gerne damit weitermachen, wie es jetzt ist.

HTLM Code:

HTML:
      <form name="" action="" id="myForm">
            <input type="text" name="FirstName" value="" data-mandatory="Yes">
            <br>
            <input type="text" name="LastName" value="" data-mandatory="Yes">
            <br>
            <input type="text" name="email" value="Email" data-mandatory="Yes">
            <br>
            <input type="text" name="phone" value="Telephone" data-mandatory="No">
            <br>
            <select name="Country" data-mandatory="Yes" style="width:302px;">
                <option value="" selected="selected"></option>
                <option value="AA">AA</option>
                <option value="BB">BB</option>
                <option value="CC">CC</option>
                <option value="DD">DD</option>
                <option value="EE">EE</option>
            </select>
            <br><br>
            <label class="sendRequest" style="cursor:pointer;">Send Form</label>
     </form>


Java Script Code:

PHP:
      <script>
            var checkForm = (function() {
                
                var $reqBtn = $('.sendRequest');
                var mailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
                var isVal = true;
                var $elTxt = $('input[type=text], select');
                
                var txtField = function(){
                    $elTxt.each(function(){
                        alert('NAMEN: ' + $(this).attr('name'));
                        //alert($(this).attr('name'));
                        if($(this).attr('data-mandatory') === 'Yes' && !$(this).val()){
                            alert( $(this).attr('name') + ': is Mandatory');
                            isVal = false;
                        }else{
                            isVal = true;
                        }
                    });
                };
                
                var mail = function(){
                    var $ml = $('input[name=email]');
                    if (!$ml.val() || $ml.val() === 'Email' || !mailReg.test($ml.val())){
                        alert('Mail fehlt');
                        isVal = false;
                    }else{
                        isVal = true;
                    }
                };
                
                var init = function() {
                    $reqBtn.click(function(){
                        txtField();                
                        mail();
                        alert('isVal: ' + isVal);
                        if(isVal) $('#myForm').submit();
                    });
                };

                return {
                    txtField: txtField,
                    init: init,
                    mail: mail
                };
                
            }());

            checkForm.init();
            
      </script>

Vielen Dank & Gruß
Messmar
 
Zurück