$ .post()有时需要2次提交来发送数据

迈克·罗伯茨(Mike Roberts)

我已经研究了几天,但无法找到解决方法。这是问题所在:

我有一个表单,用于提交要处理/插入数据库的消息。该表单使用$ .post()提交消息。

有时它工作得很好,但是偶尔(看起来是完全随机的)-我将不得不按两次提交按钮才能使数据通过。第一次按下提交按钮时,它会“显示”为已提交,这是因为表单会像正常情况一样清除,但不会发送数据。如果我再次单击“提交”按钮(在输入中未输入任何内容),它将发送一条消息,我试图一键提交。我希望这是有道理的。

换句话说,在大多数情况下,我可以输入一条消息,单击“提交1次”,这样就可以正常工作。但是随机地,我将不得不多次单击提交以使数据实际提交。

有时,“小故障”将连续发生多次。发生这种情况时,我必须一遍又一遍地点击“提交”,直到发送完所有邮件。就像他们以某种方式排队一样?

这是我用来提交数据的函数:

function postMsg() {
    $.post("index.php", {
        message: $("[name='message']").val()
    });
    document.m.message.focus();
    return false;
}

我正在使用的表单标签:

<form class="form-inline"  id="m"  name="m" method="post" onSubmit="postMsg();clear_form();return false">

万一出于某种原因需要它,我正在使用的clear_form()函数:

function clear_form() {
    document.getElementById('message').value = '';
}

如果有人能帮助我指出正确的方向,将不胜感激。

更新为包括Crone提供的功能-它可以工作,但是仍然存在需要多次提交数据才能通过的问题:

    jQuery("#m").submit(function(e) {

e.preventDefault();

jQuery.post("index.php", {
    message: jQuery("[name='message']").val()
});

document.m.message.focus();

clear_form();
});

UPDATE-添加了我用于在显示屏中加载消息的功能。这称为onLoad,当提交新消息时,它将捕获并显示新数据。

function loadMainDisplay(){
    $( "#innercontrols" ).load( "includes/controls.php" );
scrollToBottom();
}

“ controls.php”只是一个从mysql数据库中获取消息并以适当格式回显它们的文件。

在我的index.php顶部(函数/表单位于的位置),我检查一下是否已经使用Input类提交了任何输入,如下所示:

if(Input::exists()){
    $message = Input::get('message');
... validate and insert into db if ok
}

如果您想直接看到实际页面的链接,请告诉我,我将通过该链接发送悄悄话。

用户985818
jQuery('form [type="submit"]').on('click', function(e) {

e.preventDefault();

jQuery.post("index.php", {
    message: jQuery("[name='message']").val()
});

document.m.message.focus();

clear_form();
});

具有“ Enter”按钮支持的版本:

jQuery("form").on('submit', function(e) {

e.preventDefault();

jQuery.post("index.php", {
    message: jQuery("[name='message']").val()
});

document.m.message.focus();

clear_form();
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用JavaScript提交来捕获数据?

来自分类Dev

循环的ajax有时仅提交

来自分类Dev

我需要一个表单提交来调用带有输入变量的php函数(取自表单)

来自分类Dev

Ember数据未在提交时发送数据

来自分类Dev

Ember数据未在提交时发送数据

来自分类Dev

WinForms有时出现两次,有时出现一次

来自分类Dev

为什么有时需要为C链接列出两次库,这是可以避免的?

来自分类Dev

表单提交按钮有时不起作用

来自分类Dev

Ruby On Rails提交按钮有时不起作用?

来自分类Dev

React JS event.target.value有时为null有时需要为

来自分类Dev

有时两次执行init.d / rc2.d脚本两次

来自分类Dev

MSMQ:有时不正确发送或接收邮件

来自分类Dev

多对等连接有时不发送邀请

来自分类Dev

WordPress ACF Pro - 有时前端数据丢失,需要在管理员中重新保存

来自分类Dev

为什么OCaml有时需要eta扩展?

来自分类Dev

ConcurrentDictionary和原子操作-有时需要锁定?

来自分类Dev

Log4j-有时仅需要换行

来自分类Dev

为什么在Ruby中有时需要加括号?

来自分类Dev

为什么Visualforce页面需要无效的HTML?(有时)

来自分类Dev

为什么有时需要外部包装箱?

来自分类Dev

DNS查询有时需要5秒钟

来自分类Dev

ConcurrentDictionary和原子操作-有时需要锁定?

来自分类Dev

Yii2:如何在按Enter时禁用提交信息和发送数据

来自分类Dev

为什么有时有时需要手动重启路由器?

来自分类Dev

为什么有时有时需要手动导入密钥?

来自分类Dev

为什么“尝试/捕获”中的命令有时需要-ErrorAction停止,而有时则不需要?

来自分类Dev

有时要进行两次循环打印

来自分类Dev

在Rust中,当您需要一个引用持有结构来有时拥有其引用数据时的模式是什么?

来自分类Dev

我在同一页面上有2个表单,我需要提交按钮才能将信息发送到express.js中正确的app.post,我该怎么做?

Related 相关文章

  1. 1

    如何使用JavaScript提交来捕获数据?

  2. 2

    循环的ajax有时仅提交

  3. 3

    我需要一个表单提交来调用带有输入变量的php函数(取自表单)

  4. 4

    Ember数据未在提交时发送数据

  5. 5

    Ember数据未在提交时发送数据

  6. 6

    WinForms有时出现两次,有时出现一次

  7. 7

    为什么有时需要为C链接列出两次库,这是可以避免的?

  8. 8

    表单提交按钮有时不起作用

  9. 9

    Ruby On Rails提交按钮有时不起作用?

  10. 10

    React JS event.target.value有时为null有时需要为

  11. 11

    有时两次执行init.d / rc2.d脚本两次

  12. 12

    MSMQ:有时不正确发送或接收邮件

  13. 13

    多对等连接有时不发送邀请

  14. 14

    WordPress ACF Pro - 有时前端数据丢失,需要在管理员中重新保存

  15. 15

    为什么OCaml有时需要eta扩展?

  16. 16

    ConcurrentDictionary和原子操作-有时需要锁定?

  17. 17

    Log4j-有时仅需要换行

  18. 18

    为什么在Ruby中有时需要加括号?

  19. 19

    为什么Visualforce页面需要无效的HTML?(有时)

  20. 20

    为什么有时需要外部包装箱?

  21. 21

    DNS查询有时需要5秒钟

  22. 22

    ConcurrentDictionary和原子操作-有时需要锁定?

  23. 23

    Yii2:如何在按Enter时禁用提交信息和发送数据

  24. 24

    为什么有时有时需要手动重启路由器?

  25. 25

    为什么有时有时需要手动导入密钥?

  26. 26

    为什么“尝试/捕获”中的命令有时需要-ErrorAction停止,而有时则不需要?

  27. 27

    有时要进行两次循环打印

  28. 28

    在Rust中,当您需要一个引用持有结构来有时拥有其引用数据时的模式是什么?

  29. 29

    我在同一页面上有2个表单,我需要提交按钮才能将信息发送到express.js中正确的app.post,我该怎么做?

热门标签

归档