2016-04-13 20 views
0

Ich habe ein Problem mit Ajax Modal auf meinem Codeigniter-Projekt. Ich weiß nicht, warum der Submit-Button nicht funktioniert hat. Das Modal kann angezeigt werden, aber wenn ich auf die Schaltfläche Speichern klicke, passiert nichts.Zeige Validierung in Ajax in Codeigniter

das ist mein javascript:

<script type="text/javascript" src="<?php echo site_url('assets/js/jquery.js'); ?>"></script> 
<script src="<?php echo site_url('assets/js/bootstrap.min.js');?>"> </script> 
<script type="text/javascript"> 
    $('#submit').click(function() { 
     var form_data = { 
     name: $('#nama').val(), 
     email: $('#email').val(), 
    }; 
    $.ajax({ 
     url: "<?php echo site_url('adminproses/update'); ?>", 
     type: 'POST', 
     data: form_data, 
     success: function(msg) { 
     if (msg == 'YES') 
      $('#alert-msg').html('<div class="alert alert-success text-center">Your mail has been sent successfully!</div>'); 
     else if (msg == 'NO') 
      $('#alert-msg').html('<div class="alert alert-danger text-center">Error in sending your message! Please try again later.</div>'); 
     else 
      $('#alert-msg').html('<div class="alert alert-danger">' + msg + '</div>'); 
    } 
    return false; 
}); 
}); 

dies meine modale Form:

<div class="modal fade" id="edit-modal" role="dialog"> 
    <div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
     <h3 class="modal-title">Detail Data Anda</h3> 
     </div> 
     <div class="modal-body form"> 
     <form action="#" id="form" class="form-horizontal"> 
      <input type="hidden" value="" name="id_user"/> 
       <div class="form-body"> 
        <div class="form-group"> 
         <label class="control-label col-md-3">Nomor Induk Pegawai</label> 
         <div class="col-md-9"> 
          <input name="NIP" placeholder="Nomor Induk Pegawai" id="NIP" class="form-control" type="text" value="<?php echo $tampil['NIP'];?> "> 
          <span class="help-block"></span> 
         </div> 
        </div> 
       <div class="form-group"> 
       <label class="control-label col-md-3">Nama</label> 
       <div class="col-md-9"> 
       <input name="nama" placeholder="Nama Lengkap Anda" id="nama" class="form-control" type="text" value="<?php echo $tampil['nama'];?>"> 
       <span class="help-block"></span> 
        </div> 
       </div> 
       <div class="form-group"> 
       <label class="control-label col-md-3">Alamat</label> 
       <div class="col-md-9"> 
       <textarea name="alamat" id="alamat" placeholder="Jalan A Nomor 1, Kelurahan A, Desa A, Kecamatan A, Kabupaten A, Provinsi A." class="form-control" ><?php echo $tampil['alamat'];?></textarea> 
        <span class="help-block"></span> 
       </div> 
       </div> 
       <div class="form-group"> 
       <label class="control-label col-md-3">Nomor HP</label> 
       <div class="col-md-9"> 
       <input name="no_hp" placeholder="081111111111" id="no_hp" class="form-control" type="text" value="<?php echo $tampil['no_hp'];?>"> 
       <span class="help-block"></span> 
       </div> 
       </div> 
       <div class="form-group"> 
       <label class="control-label col-md-3">E-mail</label> 
       <div class="col-md-9"> 
       <input name="email" placeholder="[email protected]" id="email" class="form-control" type="text" value="<?php echo $tampil['email'];?>"> 
       <span class="help-block"></span> 
       </div> 
        </div> 
        <div class="form-group"> 
       <label class="control-label col-md-3">Kategori</label> 
        <div class="col-md-9"> 
        <select name="id_katuser" class="form-control" id="kategori"> 
        <option value="">Pilih Kategori</option> 
        <?php foreach ($katuser as $kat){?> 
       <option value="<?php echo $kat['id_katuser']; ?>" <?php if($kat['id_katuser']==$tampil['id_katuser']){echo "selected";}?>> 
<?php echo $kat['nama_katuser']; ?></option> 
<?php } ?> 
    </select> 
    <span class="help-block"></span> 
</div> 
</div> 
<div class="form-group"> 
    <label class="control-label col-md-3">Username</label> 
     <div class="col-md-9"> 
      <input name="username" placeholder="Username" id="username" class="form-control" type="text" value="<?php echo $tampil['username'];?>"> 
      <span class="help-block"></span> 
      </div> 
      </div> 
              <div class="form-group"> 
              <label class="control-label col-md-3">Password</label> 
              <div class="col-md-9"> 
               <input name="password" placeholder="Password" id="password" class="form-control" type="text" value="<?php echo $tampil['password'];?>"> 
               <span class="help-block"></span> 
              </div> 
             </div> 
            </div> 
           </form> 
          </div> 
          <div id="alert-msg"></div> 
          <div class="modal-footer"> 
           <button type="button" id="btnSave" class="btn btn-primary">Save</button> 
           <button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button> 
          </div> 
         </div><!-- /.modal-content --> 
        </div><!-- /.modal-dialog --> 
       </div><!-- /.modal --> 

und die Steuerung:

public function update(){ 
    //set validation rules 
    $this->form_validation->set_rules('NIP', 'nip', 'trim|required|xss_clean'); 
    $this->form_validation->set_rules('nama', 'email', 'trim|required|xss_clean'); 
    $this->form_validation->set_rules('alamat', 'alamat', 'trim|required|xss_clean'); 
    $this->form_validation->set_rules('email', 'Emaid ID', 'trim|required|valid_email'); 
    $this->form_validation->set_rules('no_hp', 'no_hp', 'trim|required|xss_clean'); 
    $this->form_validation->set_rules('kategori', 'kategori', 'trim|required|xss_clean'); 
    $this->form_validation->set_rules('username', 'username', 'trim|required|xss_clean'); 
    $this->form_validation->set_rules('password', 'password', 'trim|required|xss_clean'); 

    //run validation check 
    if ($this->form_validation->run() == FALSE){ 
     //validation fails 
     echo validation_errors(); 
    } 
    else{ 
     //get the form data 
     $NIP = $this->input->post('NIP'); 
     $nama = $this->input->post('nama'); 
     $alamat = $this->input->post('alamat'); 
     $no_hp = $this->input->post('no_hp'); 
     $email = $this->input->post('email'); 
     $id_katuser = $this->input->post('kategori'); 
     $username = $this->input->post('username'); 
     $password = $this->input->post('password'); 
    } 
} 

Vielen Dank für die Hilfe.

+0

Schaltfläche Speichern von type = „submit“ sein sollte und es sollte in der Form-Tag –

+0

ok, danke für die Korrektur @Aashu sein. Aber jetzt, wenn ich auf die Schaltfläche "Speichern" klicke, wird die Seite neu geladen und die Adressleiste zeigt die Werte in meinem Formular an. –

+0

In Ihrem Code gibt es kein Element mit id = "submit", aber Sie möchten den Klick auf ein solches Element aufrufen ($ ('# submit'). Click (function() {) – Zaragoli

Antwort

0

verwenden die Daten schreiben

$('#btnSave').click(function(e) { 
    e.preventDefault(); 
    var form_data = { 
     name: $('#nama').val(), 
     email: $('#email').val() 
    }; 
    $.ajax({ 
     url: '<?php echo site_url('adminproses/update'); ?>', 
     type: 'POST', 
     data: form_data, 
     success: function(msg) { 
      if (msg == 'YES') 
       $('#alert-msg').html('<div class="alert alert-success text-center">Your mail has been sent successfully!</div>'); 
      else if (msg == 'NO') 
       $('#alert-msg').html('<div class="alert alert-danger text-center">Error in sending your message! Please try again later.</div>'); 
      else 
       $('#alert-msg').html('<div class="alert alert-danger">' + msg + '</div>'); 
     } 
     return false; 
    }); 
}); 
+0

Vielen Dank für die Antwort @Arjun Ich habe meinen Code überprüft und festgestellt, dass das Formular mit dem Ajax nicht funktioniert, also kann die URL im Ajax nicht ausgeführt werden Warum, wenn ich auf "Senden" klicke, werden alle Werte im Formular in der Adressleiste angezeigt. Nachdem ich meinen Code bearbeitet habe, ist es immer noch so :( –

+0

Raka: Wenn du auf die Schaltfläche klickst und die Standardaktion verhinderst, postet sie Daten mit Formular neu laden, so dass Sie die Daten in der URL bekommen. –

+0

Ich habe die Antwort aktualisiert, also verwenden Sie bitte den obigen Code. Ihr Selektor und die ID der Schaltfläche stimmte nicht überein, so dass der Ajax nicht funktionierte. –