Note that there are some explanatory texts on larger screens.

plurals
  1. POJquery after validating data, submiting a form fails with message: Uncaught TypeError: Cannot call method 'submit' of undefined
    primarykey
    data
    text
    <p>I am doing a lot of validations on my form, and when it's getting to it's finish step, I can use <code>this.form.submit();</code> to submit the form. It gets to that step, I tried using console.log, and it worked. But it just doesn't submit the form and getting this error:</p> <pre><code>Uncaught TypeError: Cannot call method 'submit' of undefined </code></pre> <p>Why is it becoming undefined?</p> <pre><code> $("#center").on('click', function(e) { var valid = true; var fields; var canSubmit; var readyForValidate; var emailValidation; var close = $("#close"); var errors = $(".errors"); var username = $("#username"); var pass = $("#password"); var repass = $("#repassword"); var pass_f = $("#password_f"); var repass_f = $("#repassword_f"); var email = $("#email"); var display = $("#display"); var incomplete = $(':input', this.form).filter(function() { return $(this).val() == ''; }); $(':input', this.form).each(function(i, ele) { e.preventDefault(); if (ele.value.trim() == "") { ele.style.border = '2px solid red'; valid = false; errors.html("One of the fields are empty, please fill them up. &lt;span id='close'&gt;X&lt;/span&gt;"); errors.fadeIn("slow"); close.click(function() { errors.fadeOut("slow"); errors.html(""); }); } else { $(this).removeAttr('style'); } }); if(!incomplete.length) { fields = true; } else { fields = false; } if (fields) { if (!isValidEmailAddress(email.val())) { errors.html("The entered email address is not valid. &lt;span id='close'&gt;X&lt;/span&gt;"); errors.fadeIn("slow"); email.css("border", "solid 2px red"); close.click(function() { errors.fadeOut("slow"); errors.html(""); }); } else if (pass.val() != repass.val()) { errors.html("Your passwords for in-game are not equal! &lt;span id='close'&gt;X&lt;/span&gt;"); errors.fadeIn("slow"); pass.css("border", "solid 2px red"); repass.css("border", "solid 2px red"); } else if (pass_f.val() != repass_f.val()) { errors.html("Your passwords for forums are not equal! &lt;span id='close'&gt;X&lt;/span&gt;"); errors.fadeIn("slow"); pass_f.css("border", "solid 2px red"); repass_f.css("border", "solid 2px red"); } else if (pass.val().length &lt; 5) { errors.html("Your in-game password is too short! &lt;span id='close'&gt;X&lt;/span&gt;"); errors.fadeIn("slow"); pass.css("border", "solid 2px red"); } else if (pass_f.val().length &lt; 5) { errors.html("Your forums password is too short! &lt;span id='close'&gt;X&lt;/span&gt;"); errors.fadeIn("slow"); pass_f.css("border", "solid 2px red"); } else if ( pass_f.val() == repass_f.val() &amp;&amp; pass.val() == repass.val() &amp;&amp; isValidEmailAddress(email.val()) &amp;&amp; pass.val().length &gt; 4 &amp;&amp; pass_f.val().length &gt; 4) { readyForValidate = true; } else { readyForValidate = false; } if (readyForValidate) { validateUsername(username.val()).done(function(data) { if ($.trim(data) == 1) { errors.html("That username already exists! Please use another.&lt;span id='close'&gt;X&lt;/span&gt;"); errors.fadeIn("slow"); username.css("border", "solid 2px red"); } else { validateEmail(email.val(), 'email').done(function(data) { if ($.trim(data) == 1) { errors.html("That email is already registered. Please use another.&lt;span id='close'&gt;X&lt;/span&gt;"); errors.fadeIn("slow"); email.css("border", "solid 2px red"); } else { this.form.submit(); } }); } }); } } }); }); /** * Function check email * Checks if email is valid * * @param emailAddress Entered email address * @return email is valid **/ function isValidEmailAddress(emailAddress) { var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&amp;'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&amp;'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i); return pattern.test(emailAddress); } function validateUsername(username, type) { return $.post("js/ajax/ajax.php", { validateUsername : 1 }); } function validateEmail(username, type) { return $.post("js/ajax/ajax.php", { validateEmail : 1 }); } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload