У меня есть форма в модальной начальной загрузке выглядит так:
<?php
$properties = array('class' => 'form-horizontal', 'id' => 'formpassword');
echo form_open("control_member/updatePassword", $properties);
?>
<div class="modal hide fade" id="myModalChangePassword">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h2 id="mainTitle" style="color: black; text-shadow: none;">Silahkan ganti Password Anda: </h2>
</div>
<div class="modal-body">
<fieldset>
<div class="input-prepend" title="Password">
<span class="add-on"><i class="halflings-icon lock"></i></span>
<input class="input-xlarge" name="password_lama" id="old_password" type="password" placeholder="Current password" autofocus>
</div>
<div class="input-prepend" title="Password Baru">
<span class="add-on"><i class="halflings-icon lock"></i></span>
<input class="input-xlarge" name="password_baru" id="new_password" type="password" placeholder="New Password"/>
</div>
<div class="input-prepend" title="Confirm Password">
<span class="add-on"><i class="halflings-icon lock"></i></span>
<input class="input-xlarge" name="password_confirm" id="confirm_password" type="password" placeholder="Confirm Password"/>
</div>
<div>
<button class="btn btn-primary" id="btn-save-password">Save</button>
<button class="btn" data-dismiss="modal">Cancel</button>
</div>
<div class="clearfix"></div>
</fieldset>
</div>
</div>
<?php echo form_close(); ?>
Это контроллер для обработки данных из кода выше:
public function updatePassword() {
$new = $this->input->post('new_password');
$user_id = $this->session->userdata('id_user');
$row = $this->model_user->update_password($user_id, $new);
$affected_rows = $this->db->affected_rows();
if ($affected_rows > 0) {
//echo json_encode($row); just test, the browser return true
return json_encode($row);
} else {
return "No updates";
}
}
А теперь я использую проверку jquery для проверки данных из приведенного выше кода следующим образом:
$(document).ready(function() {
$("#formpassword").validate({
rules: {
old_password : {
required: true,
},
new_password : {
required: true,
},
confirm_password : {
equalTo: "#new_password"}
},
messages: {
old_password : "Password lama anda salah",
new_password : "Password baru tidak cocok",
confirm_password : "Tidak cocok"
},
submitHandler: function(form) {
alert("Working"); // Not success
$.blockUI({message: '<h1><img src="http://localhost/tresnamuda/assets/img/loader.gif" />Sedang diproses</h1>'});
$.ajax({
method: "POST",
url: form.action,
data: form.serialize()
})
.done(function(msg) {
$.blockUI({message: "Data Submited "});
});
}
});
Моя цель, как я могу сделать, когда пользователь добился успеха, модальный загрузчик только что закрылся, и данные успешно обновлены? Ведь в моем случае это перенаправление на контроллер updatePassword. Итак, я ожидал, что когда SUbmit добьется успеха, он все еще дает мне ту же страницу.
Задача ещё не решена.
Других решений пока нет …