为什么我的代码不起作用?也许我想念一些东西。
这是我的代码
查看 admin_page.php
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
// Ajax post
$(document).ready(function() {
$(".submit").click(function(event) {
event.preventDefault();
var message = $("input#l_message").val();
jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>" + "admin/user_data_submit",
dataType: 'json',
data: {l_message: message},
success: function(res) {
if (res)
{
// Show Entered Value
jQuery("div#msg").show();
jQuery("div#msg").html(res..message);
}
}
});
});
});
</script>
<body>
<?php echo form_open();
echo form_label('Librarians Message');?>
<textarea class="form-control" name="the_librarian" id="l_message"></textarea>
<?php echo form_submit('submit', 'Update',"class='submit'");?>
<?php echo form_close();?>
</body>
在我的控制器 admin.php
中public function user_data_submit()
{
$data = array('message' => $this->input->post('l_message'),
);
$this->home_admin_database->librarian_msg_insert($data);
//Either you can print value or you can send value to database
echo json_encode($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)
替换
var message = $("input#l_message").val();
与
var message = $("textarea#l_message").val();
然后它应该工作
答案 1 :(得分:0)
在您的视图文件中尝试使用
echo form_button('submit', 'Update',"class='submit'");
而不是
echo form_submit('submit', 'Update',"class='submit'");
请尝试使用提交活动,而不是点击上面的内容...
同时替换
var message = $("input#l_message").val();
与
var message = $("#l_message").val();
=&GT;另一个步骤是使用
<form Method="Post" class="submit_form">
而不是
echo form_open();
或通过jquery在文档加载
上删除表单操作属性和
用于ajax调用的$(".submit_form").submit(function(event) {...});
答案 2 :(得分:0)
你好我猜你使用tinymce,tinymce无法获得你应该添加的值 获得价值
tinyMCE.triggerSave();
然后请更改您的javascript
<script type="text/javascript">
// Ajax post
$(document).ready(function() {
$(".submit").click(function(event) {
event.preventDefault();
tinyMCE.triggerSave();
var message = $("#l_message").val();
alert(message) //please see is it right value or not !
jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>" + "admin/user_data_submit",
dataType: 'json',
data: {l_message: message},
success: function(res) {
if (res)
{
// Show Entered Value
jQuery("div#msg").show();
jQuery("div#msg").html(res..message);
}
}
});
});
});
</script>
希望这可以帮助某人使用tinymce,
答案 3 :(得分:0)
使用以下代码更改查看代码:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#submit").click(function(){
// get all post from form with id form-msg
dataString = $("#form-msg").serialize();
$.ajax({
type:"POST",
url:"<?php echo base_url(); ?>index.php/admin/user_data_submit",
//parsing data to your controller
data:dataString,
success:function (data) {
// Show Entered Value
$("div#msg").show();
$("div#msg").html(data);
alert('Success');
}
});
return false;
});
});
</script>
<body>
<?php
// add form id
echo form_open('',"id='form-msg'");
echo form_label('Librarians Message');?>
<textarea class="form-control" name="the_librarian" id="l_message"></textarea>
<?php
// add button
echo form_button('submit', 'Update',"id='submit'");
?>
<?php echo form_close();?>
</body>