jquery - Send ajax 2 times -


can see code. think, ajax send data 2 times, that's why in db duplicate records

<script type="text/javascript">      function isvalidemailaddress(email) {         var regex = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\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 regex.test(email);     }      function check() {         var registration = $('input');         registration.removeclass('error').removeclass('valid');         var error = 0;         registration.each(function () {             var value = $(this).val();             if (value.length < 4 || value === null) {                 $(this).addclass('error').animate({ opacity: 0.5}, 500);                 error++;             } else {                 $(this).addclass('valid');             }         });         if (!error) {             if ($('#password').val() != $('#conf_password').val()) {                 $('input[type=password]').each(function () {                     $(this).removeclass('valid').addclass('error');                 });             }             var email = $('input[type=email]').val();             if (email.length < 1 || email.value == null && !isvalidemailaddress(email)) {                 $(this).addclass('error');                 error++;             }             else {                 $(this).addclass('valid');             }         }     }      function send_form() {         check();         var data = $('#registration').serialize();         $.ajax({                 type: "post",                 url: "{{ path('registrationaction') }}",                 data: data,                 datatype : 'json',                 success: function (data) {                     if(data.success == true){                         window.location.replace("{{ path('loginaction') }}");                     }                     else                         alert("error");                     }                 }         );     }      $(function () {         $('#submit_form').click(function () {             send_form();         });     }); </script> 

and 1 more question , form sent in case, although should not. how can if there errors , form not send

i may missed ? please, help

you not prevent normal form submission while submitting via ajax. also, better bind form submission form submit event, rather submit button click, because forms submitted example on enter keypress. need following:

$(function () {     $('#form-name').submit(function (event) {         event.preventdefault();         send_form();     }); }); 

Comments