提交没有刷新

时间:2011-08-05 04:15:24

标签: jquery ajax forms submit chat

我整天都在发布此代码的不同版本(抱歉!)。 我现在尝试这样做,当你提交(通过按Enter键)时,它不刷新页面。我尝试将提交按钮设置为按钮,但这只适用于你实际点击它。

我一直在做研究,但我的很多结果都是过时的JavaScript方法。

这些是从我的HTML标记中获取的。其他一切都只是通常的html,head,body和CSS。

<?php
session_start();
if(!isset($_SESSION['id'])){
    $_SESSION['id'] = rand(0,100);
}
?>

<div id="room">
<div id="send_cont">
<form id="chat">
    <input type="text" id="msg" />
    <input type="submit" id="send" value=" " /> 
</form>
</div>

<div id="messages">
Loading...
</div>
</div>

<script type="text/javascript">
$(document).ready(function(){
var refreshchat = function(){
    $.get('ajax.php', function(data) {
        $('#messages').html(data);
    });
    var msgs = document.getElementById('messages');
    msgs.scrollTop = msgs.scrollHeight;
}
var getmsgs = self.setInterval(refreshchat,0);
$('#chat').submit(function(){
    var msg = $('#msg').val();
    $.post("ajax.php", { msg: msg, from: "You" },
       function(data) {
            $('#messages').html(data);
            $('#msg').val('');
            var msgs = document.getElementById('messages');
            msgs.scrollTop = msgs.scrollHeight;
    });
});
return false;
});
</script>

3 个答案:

答案 0 :(得分:1)

您可能希望使用可以传递给jQuery事件单击处理程序的事件对象来阻止默认浏览器行为。

大概的顺序:

$('#send').click(function(evt){
    evt.preventDefault()
    // perform ajax call here...
});

答案 1 :(得分:0)

你可以使用

$('#submit').click(function(evt){
    evt.preventDefault()
    // perform ajax call here...
});

$('#submit').click(function(evt){
    // perform ajax call here...

    return false ;

});

答案 2 :(得分:0)

$(document).ready(function() {
    var refreshchat = function() {
            $.get('ajax.php', function(data) {
                $('#messages').html(data);
            });
            var msgs = document.getElementById('messages');
            msgs.scrollTop = msgs.scrollHeight;
        }
    var getmsgs = self.setInterval(refreshchat, 0);
    $('#chat').submit(function() {
        var msg = $('#msg').val();
        $.post("ajax.php", {
            msg: msg,
            from: "You"
        }, function(data) {
            $('#messages').html(data);
            $('#msg').val('');
            var msgs = document.getElementById('messages');
            msgs.scrollTop = msgs.scrollHeight;
        });
        return false; // <--- needed here...
    });
    // return false; <--- not in the right place....
});