有人能解决这个问题吗?jQuery $ . post
can anyone fix this. jQuery $.post
我有一个这样的表单(已经添加了jquery最新)
echo '<form name="chat" id="chat" action="/pages/guicsdl.php" method="post">';
echo bbcode::auto_bb('chat', 'text');
echo '<textarea rows="3" name="text" id="text"></textarea><br/>';
echo '<input type="hidden" name="trave" value="'.$trave.'" /><input type="submit" name="submit" value="Gửi" /></form>';
和js
$(document).ready(function() {
$("chat").submit(function(){
$.post('/pages/guicsdl.php', $("#chat").serialize() );
});
});
和guicsdl.php文件
if(isset($_POST['submit'])) {
$noidung = functions::check($_POST['text']);
mysql_query("INSERT INTO `status` SET `user_id`='".$user_id."', `text`='".$noidung."', `time`='".time()."'");
mysql_query("UPDATE `users` SET `tongchat`= tongchat+1 WHERE id = '".$user_id."' ");
$trave = isset($_POST['trave']) ? base64_decode($_POST['trave']) : '';
header("Location: $trave");
}
我只希望当我提交表单,页面不刷新,数据插入到数据库。有人能帮我修吗?谢谢,谢谢。对不起,我的英语不好。
您必须添加return false;
,以便浏览器'理解'它不应该直接提交表单。
$(document).ready(function(){
$("#chat").submit(function(){
$.post('/pages/guicsdl.php', $("#chat").serialize() );
return false;
});
});
另一种方法(我自己更喜欢)是告诉事件不要做它的默认行为。
$(document).ready(function(){
$("#chat").submit(function(ev){ // note the extra parameter
ev.preventDefault();
$.post('/pages/guicsdl.php', $("#chat").serialize() );
});
});
Wilmer还注意到您在选择聊天表单时忘记为jQuery标识符添加#
。
相关文章:
- Jquery POST未填充数组
- 防止双击执行两次jQuery post请求
- Jquery post and onclick
- jQuery$.post TypeError:e.type不是函数
- jQuery$.post可以在chrome、safari中工作,但不能在FF中工作(声明成功回调函数未定义)
- jQuery post,访问responseType或回调中的响应
- jquery post.fail,即使php成功
- 用jquery post发送jquery对象
- JQuery $.post() and curl
- 如何在 jquery post request 中发送api_key和api_secret参数
- Jquery Post Empty即使发送变量有数据
- 将 throbber 添加到 jQuery post()
- JQuery$.post第二次点击不起作用
- Ajax jquery post发布时没有变量名
- 404调用jQuery.post时出错
- Jquery Post方法在本地工作,但在服务器上不工作
- 从aspx.cs页面获取jquery post中的Null响应而不是json
- jQuery POST to PHP显示在浏览器中,但不显示在PHP文件中
- jquery $.post explain
- Jquery POST unicode字符串到codeigniter php