[HELP] Help me fix my JS code?

AlexFallen

Developer
Jul 19, 2011
490
64
I am working on my personal portfolio, and I can't seem to get the contact form to work, can someone check the JS code and tell me what I need to change or add?
Code:
jQuery(document).ready(function($){
    $('.contact_form input, .contact_form textarea').on( 'keyup keydown', function(){
        $(this).parent().removeClass("has-error").removeClass("has-success");
       
        var name = $(this).attr("name");
        var value = $(this).val();
       
        if( name == "name"){
            if( value.length < 2 || value == "" ){
                $(this).parent().addClass("has-error");
            }
            else{
                $(this).parent().addClass("has-success");
            }
        }
       
        else if( name == "email" ){
            var email_regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
            if( value == "" || !email_regex.test(value) ){
                $(this).parent().addClass("has-error");
            }
            else{
                $(this).parent().addClass("has-success");
            }
        }
       
        else if( name == "message" ){
            if( value.length < 3 || value == "" ){
                $(this).parent().addClass("has-error");
            }
            else{
                $(this).parent().addClass("has-success");
            }           
        }
    });   

    $('.submitform').click(function(e){
        e.preventDefault();
       
        var form = $('.contact_form');
       
        var name = $('input[name="name"]').val();
        var email = $('input[name="email"]').val();
        var message = $('textarea[name="message"]').val();

        $('input[name="name"]').parent().removeClass("has-error").removeClass("has-success");
        $('input[name="email"]').parent().removeClass("has-error").removeClass("has-success");
        $('textarea[name="message"]').parent().removeClass("has-error").removeClass("has-success");
       
        var email_regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
       
        if( name == "" || name.length < 2 ){
            $('input[name="name"]').parent().addClass("has-error");
        }
        if( email == "" ){
            $('input[name="email"]').parent().addClass("has-error");
        }       
        if( message == "" || message.length < 3 ){
            $('textarea[name="message"]').parent().addClass("has-error");
        }
       
        if( name !== "" && email !== "" && message !== ""){
            if( email_regex.test(email) === true ){
                $('input[name="name"]').parent().removeClass("has-error").addClass("has-success");
                $('input[name="email"]').parent().removeClass("has-error").addClass("has-success");
                $('textarea[name="message"]').parent().removeClass("has-error").addClass("has-success");
           
                $.post(
                    form.attr('action'),
                    {
                        name:name,
                        email:email,
                        message:message
                    },
                    function(response){
                        if( response.indexOf("[OK]") !== -1 ){
                            $('.send_result').hide();
                            $('.send_result').html('<p>Message sent.</p>');
                            $('.send_result').fadeIn();
                        }
                        else{                       
                            $('.send_result').hide();
                            $('.send_result').html('<p>Message failed to sent.</p>');
                            $('.send_result').fadeIn(200);
                        }
                    }
                )
            }
            else{
                $('input[name="email"]').parent().addClass("has-error");
            }
        }
    });   

    $(".newsletter_form input").on( 'keyup keydow', function(){
       
        $(this).parent().removeClass("has-error").removeClass("has-success");
       
        var name = $(this).attr("name");
        var value = $(this).val();
       
        var email_regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if( value == "" || !email_regex.test(value) ){
            $(this).parent().addClass("has-error");
        }
        else{
            $(this).parent().addClass("has-success");
        }
    });

    $(".send_newsletter").click(function(e){
        e.preventDefault();
        var form = $(".newsletter_form");
        var email_regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        var email = $('input[name="email_news"]').val();
       
        $('input[name="email_news"]').parent().removeClass("has-error").removeClass("has-success");
       
        if( email !== "" && email_regex.test(email) ){
            $('input[name="email_news"]').parent().removeClass("has-error").addClass("has-success");
       
            $.post(
                form.attr('action'),
                {
                    email:email,
                },
                function(response){
                    if( response.indexOf("[OK]") !== -1 ){
                            $('.send_result_news').hide();
                            $('.send_result_news').html('<p>You have subscribed to newsletter.</p>');
                            $('.send_result_news').fadeIn();   
                    }
                    else{                       
                        $('.send_result_news').hide();
                        $('.send_result_news').html('<p>Failed to subscribe you.</p>');
                        $('.send_result_news').fadeIn(200);
                    }
                }
            )
        }
        else{
            $('input[name="email_news"]').parent().addClass("has-error");
        }
       
    });
});

Thanks in advance!
 

GarettM

Posting Freak
Aug 5, 2010
833
136
Remember in JavaScript you cant compare an object to a string like this
Code:
 if( object == "string_o_my" )
you can compare a object to a string like this though
Code:
 if( object.equals("string_o_my") ) or if( "string_o_my".equals( object ))

Try This
Code:
jQuery(document).ready(function ($) {
  $('.contact_form input, .contact_form textarea').on('keyup keydown', function () {
  $(this).parent().removeClass("has-error").removeClass("has-success");

  var name = $(this).attr("name");
  var value = $(this).val();

  if (name.equals("name")) {
  if (value.length < 2 || value.equals("")) {
  $(this).parent().addClass("has-error");
  } else {
  $(this).parent().addClass("has-success");
  }
  } else if (name.equals("email")) {
  var email_regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if (value.equals("") || !email_regex.test(value)) {
  $(this).parent().addClass("has-error");
  } else {
  $(this).parent().addClass("has-success");
  }
  } else if (name.equals("message")) {
  if (value.length < 3 || value.equals("")) {
  $(this).parent().addClass("has-error");
  } else {
  $(this).parent().addClass("has-success");
  }
  }
  });

  $('.submitform').click(function (e) {
  e.preventDefault();

  var form = $('.contact_form');

  var name = $('input[name="name"]').val();
  var email = $('input[name="email"]').val();
  var message = $('textarea[name="message"]').val();

  $('input[name="name"]').parent().removeClass("has-error").removeClass("has-success");
  $('input[name="email"]').parent().removeClass("has-error").removeClass("has-success");
  $('textarea[name="message"]').parent().removeClass("has-error").removeClass("has-success");

  var email_regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;

  if (name.equals("") || name.length < 2) {
  $('input[name="name"]').parent().addClass("has-error");
  }
  if (email.equals("")) {
  $('input[name="email"]').parent().addClass("has-error");
  }
  if (message.equals("") || message.length < 3) {
  $('textarea[name="message"]').parent().addClass("has-error");
  }

  if (name !== "" && email !== "" && message !== "") {
  if (email_regex.test(email) === true) {
  $('input[name="name"]').parent().removeClass("has-error").addClass("has-success");
  $('input[name="email"]').parent().removeClass("has-error").addClass("has-success");
  $('textarea[name="message"]').parent().removeClass("has-error").addClass("has-success");

  $.post(
  form.attr('action'), {
  name: name,
  email: email,
  message: message
  },

  function (response) {
  if (response.indexOf("[OK]") !== -1) {
  $('.send_result').hide();
  $('.send_result').html('<p>Message sent.</p>');
  $('.send_result').fadeIn();
  } else {
  $('.send_result').hide();
  $('.send_result').html('<p>Message failed to sent.</p>');
  $('.send_result').fadeIn(200);
  }
  });
  } else {
  $('input[name="email"]').parent().addClass("has-error");
  }
  }
  });

  $(".newsletter_form input").on('keyup keydow', function () {

  $(this).parent().removeClass("has-error").removeClass("has-success");

  var name = $(this).attr("name");
  var value = $(this).val();

  var email_regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if (value.equals("") || !email_regex.test(value)) {
  $(this).parent().addClass("has-error");
  } else {
  $(this).parent().addClass("has-success");
  }
  });

  $(".send_newsletter").click(function (e) {
  e.preventDefault();
  var form = $(".newsletter_form");
  var email_regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  var $email = $('input[name="email_news"]').val();

  $('input[name="email_news"]').parent().removeClass("has-error").removeClass("has-success");

  if (!$email.equals("") && email_regex.test(email)) {
  $('input[name="email_news"]').parent().removeClass("has-error").addClass("has-success");

  $.ajax({
  url: form.attr('action'),
  type: "POST",
  data: {
  email: $email
  },
  success: function (data) {
  if (data.equals("[OK]")) {
  $('.send_result_news').hide();
  $('.send_result_news').html('<p>You have subscribed to newsletter.</p>');
  $('.send_result_news').fadeIn();
  } else {
  $('.send_result_news').hide();
  $('.send_result_news').html('<p>Failed to subscribe you.</p>');
  $('.send_result_news').fadeIn(200);
  }

  if (response.status) {
  window.location.replace("{{domain}}");
  } else {
  alert('Sorry The Requested Language could not be loaded.');
  }
  },
  error: function () {
  alert('Sorry The Requested Language could not be loaded.');
  }
  });
  } else {
  $('input[name="email_news"]').parent().addClass("has-error");
  }

  });
});
 

Users who are viewing this thread

Top