下面的代码可以多次工作。请找我错误。
响应警报没有停止。

$(document).ready(function(){

        $("input").keyup(function(e){
            if(e.which == 13){
                $('form').submit();
            }
        });

        $('form').submit(function(){
            var msgs = $("input").val();
            $.post('message.php?action=sent&msg='+msgs,function(response){
               document.getElementById('temp').reset();
               alert(response);
            });
            return false;
        });
    });

最佳答案

尝试防止keyup处理程序中的默认设置:

$("input").keyup(function(e)
    if (e.which == 13) {
        e.preventDefault();
        $('form').submit();
    }
});


在表单的最后一个输入字段中按Return键时,默认操作是提交表单。因此,如果您不阻止默认设置,则它会根据您的代码提交,并且默认情况下也会提交。

您也可以摆脱keyup处理程序,因为它只是在执行默认操作。

另一种可能性是页面上有多个表单。 $('form').submit()将提交所有文件,并且提交处理程序将为所有文件运行。如果您只想提交包含他们按下回车键的输入的表单,请使用:

$(this).closest("form").submit();


同样,这是按Return键的默认行为。

关于javascript - javascript文档准备一遍又一遍,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48759682/

10-12 00:59