我的问题是如何在没有刷新页面的情况下单击按钮后显示确认消息..我的代码正在运行但是当我单击按钮时,页面总是令人耳目一新。我知道ajax如何使用这个但是我在ajax的新手。还有一个,在提交按钮后,我的网址改为admin_home / librarian_msg,而不是http:localhost / webitefoler / admincontroller。
在视图admin_page.php中
<?php echo form_open('admin_home/librarian_msg');
echo form_label('Librarians Message');?>
<textarea class="form-control" name="the_librarian"> </textarea>
<?php echo form_submit('submit', 'Update',"class='btn btn- success navbar-btn'");?>
<?php echo form_close();
?>
<div class="alert alert-success">
<?php echo $message_display;?>
<a href="#" class="close" data-dismiss="alert" aria-label="close">× </a>
控制器admin_home.php中的
public function librarian_msg()
{
$data['title'] = 'some text here';
// Check validation for user input in SignUp form
$this->form_validation->set_rules('the_librarian', 'Message', 'trim|required|xss_clean');
$message = $this->input->post('the_librarian');
$result = $this->home_admin_database->librarian_msg_insert($message);
if ($result == TRUE) {
$data['message_display'] ='Message Updated';
$this->load->view('admin_page', $data);
} else {
$data['message_display'] = 'Update Failed';
$this->load->view('admin_page', $data);
}
}
在模特中 home_admin_database.php
public function librarian_msg_insert($data) {
$message = array(
'message' => $data,
);
// Query to insert data in database
$this->db->where('lm_id', '1');
$this->db->update('librarians_message', $message);
if ($this->db->affected_rows() > 0) {
return true;
}
else {
return false;
}
}
帮帮我......
答案 0 :(得分:1)
尝试使用此java脚本代码提交表单: - 在下面的代码中使用您的表单ID而不是#your_form_id。 在下面的代码中使用您的状态消息div id而不是your_status_message。
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$("#your_form_id").submit(function(e)
{
var postData = $(this).serializeArray();
var formURL = $(this).attr("action");
$.ajax(
{
url : formURL,
type: "POST",
data : postData,
beforeSend: function(){
// Append status message to the div
$('#your_status_message').append('Sending....');
},
complete: function(){
// Append success message to the div
$('#your_status_message').append('Complete....');
},
success:function(data, textStatus, jqXHR)
{
$('#your_status_message').append('Success....');
},
error: function(jqXHR, textStatus, errorThrown)
{
}
});
e.preventDefault(); //STOP default action
e.unbind(); //unbind. to stop multiple form submit.
});
</script>