Ajax contact us form validation in Codeigniter 3 using javascript jQuery

Ajax contact us form validation in Codeigniter 3 using javascript jQuery

In this Codeigniter Tutorial, I am going to tell you how to validate contact us form using Ajax.

I am going to use Codeigniter Form Validation class to validate contact us form, If the error exists then It will display the proper validation errors.

I will use jQuery to avoid complete page refresh on form submission in Codeigniter.

For this example, I will create simple HTML contact us form and implement server-side validation rules in Codeigniter on form submission using Ajax.

Step1: Add Routes

In this step, I will add routes to handle ajax request and display the form.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');


$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

$route['ajax-form-validate'] = "AjaxFormValidate";
$route['ajax-form-validate/post']['post'] = "AjaxFormValidate/validateForm";
Step2: Create AjaxFormValidate Controller Class

In this step, I will create a controller "AjaxFormValidate.php" in following path application/controllers/

<?php
defined('BASEPATH') OR exit('No direct script access allowed');


class AjaxFormValidate extends CI_Controller {


   /**
    * Get All Data from this method.
    *
    * @return Response
   */
   public function __construct() {
      parent::__construct(); 


      $this->load->library('form_validation');
      $this->load->library('session');
   }


   /**
    * Create from display on this method.
    *
    * @return Response
   */
   public function index()
   {
      $this->load->view('ajax_form_validate');
   }


   /**
    * Validate and store the form data.
    *
    * @return Response
   */
   public function validateForm()
   {
        $this->form_validation->set_rules('name', 'Name', 'required');
        $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
        $this->form_validation->set_rules('message', 'Message', 'required');


        if ($this->form_validation->run() == FALSE){
            $errors = validation_errors();
            echo json_encode(['error'=>$errors]);
        }else{
           echo json_encode(['success'=>'Form submitted successfully.']);
        }
    }
}
Step3: Create View File (ajax_form_validate.php)

In this step, I will create a simple HTML form using form_open() helper method in Codeigniter.

I will include jQuery and Bootstrap library and send the ajax request with form data on the server to implement validation rules.

<html>
  <head> 
    <title>Ajax contact us form validation in Codeigniter using javascript jQuery</title>
     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  </head>
  <body> 
  <div class="container">
    <div class="row">
      <div class="col-sm-8 col-sm-offset-2">
        <div class="alert alert-danger" style="display:none">
        </div>

      <?php echo form_open('ajax-form-validate/post');?> 
        <div class="form-group">
          <label>Name:</label>
          <input type="text" name="name" class="form-control" placeholder="Name">
        </div>

        <div class="form-group">
          <strong>Email:</strong>
          <input type="text" name="email" class="form-control" placeholder="Email">
        </div>

        <div class="form-group">
          <strong>Message:</strong>
          <textarea class="form-control" name="message" placeholder="Message"></textarea>
        </div>

        <div class="form-group">
          <button class="btn btn-primary btn-block btn-submit">Submit</button>
        </div>
      </form>
    </div>
    </div>
  </div>
   </body>


   <script type="text/javascript">
    $(document).ready(function() {
      $(".btn-submit").click(function(e){
        e.preventDefault();
        var name = $("input[name='name']").val();
        var email = $("input[name='email']").val();
        var message = $("textarea[name='message']").val();

        console.log($(this).closest('form').attr('action'));
          $.ajax({
              url: $(this).closest('form').attr('action'),
              type:$(this).closest('form').attr('method'),
              dataType: "json",
              data: {name:name, email:email, message:message},
              success: function(data) {
                  if($.isEmptyObject(data.error)){
                    $(".alert-danger").css('display','none');
                    alert(data.success);
                  }else{
                    $(".alert-danger").css('display','block');
                    $(".alert-danger").html(data.error);
                  }
              }
          });


      }); 


  });

   </script>


</html>

Phone: (+91) 8800417876
Noida, 201301
ataşehir escort maltepe escort bostancı escort kadıköy escort maltepe escort ataşehir escort tuzla escort pendik escort ümraniye escort kartal escort
pendik escort
izmir escort izmir escort izmir escort izmir escort denizli escort antalya escort antalya escort antalya escort izmir escort izmir escort izmir escort izmir escort izmir escort
hatay escort nevsehir escort nigde escort kirikkale escort batman escort osmaniye escort kirklareli escort tokat escort rize escort adiyaman escort gumushane escort batman escort
porno izle
sohbet okey oyna
cialis satış cialis fiyat cialis 20 mg cialis 100 mg cialis 5 mg fiyat

viagra fiyatı

viagra 100 mg fiyat

viagra sipariş

orjinal viagra

viagra satın al

izmir escort