【问题标题】:ajaxform jQuery plugin reset form after sending requestajaxform jQuery插件在发送请求后重置表单
【发布时间】:2014-01-12 19:58:38
【问题描述】:

在我开始之前,我相信这不是重复的。

这是我的问题:

我有一个聊天室 php 脚本,我使用 ajaxForm jQuery 插件来发送新消息而无需重新加载整个页面。

事实上,发布时间大约需要 1-2 秒: 例如

阻塞:6ms

发送:1ms

等待:1.15 秒

接收 1ms

$('#myform').ajaxForm(function() {
    //clear form after this
    $('#myform').clearForm();
});

表格在接收时间后被清除,这意味着清除我发送的每条消息大约需要 1.20 秒......而且聊天似乎有点滞后。

我正在想办法在发送部分之后清除表单,而不需要回调或其他东西。

【问题讨论】:

  • #mydiv 是包含表单的 div 吗?
  • 其实是表单的名字对不起,我的错
  • 好的,所以表单的 ID 为 #mydiv?
  • 请看我的回答。
  • 是(已更改为 myform)

标签: javascript php jquery chat


【解决方案1】:

如果ajaxForm 工作正常,您可以这样做:

$('#myform').ajaxForm({
    beforeSubmit:  function() {
       $('#myform').clearForm();    //Call the reset before the ajax call starts
    },
    success: function(data){
       //Your normal callback here
    }
});

(如果$('#myform').clearForm() 不起作用,请使用$('#myform')[0].reset();

希望这会有所帮助。干杯

【讨论】:

  • 很高兴它对您有所帮助。干杯,来自玻利维亚拉巴斯
【解决方案2】:
$('#mydiv').ajaxForm(function() {
   //...
    $("#mydiv")[0].reset();
});

【讨论】:

    【解决方案3】:

    我从未使用过ajaxForm,但只在<form> 元素上使用浏览器的reset() 函数就足够了(我假设ajaxForm 返回一个jQuery 实例):

    $('#myform').ajaxForm(function() {
        this.reset();
    });
    

    如果上面抛出 has no method reset() 错误,试试这个:

    $('#myform').ajaxForm(function() {
        $('#myform')[0].reset();
    });
    

    【讨论】:

      【解决方案4】:

      如果您对ajaxForm 有疑问。您可以通过以下方式避免ajaxForm

      $(".ajaxform").submit(function(event){
         var $form = $(this);
         event.preventDefault();
         $form.get(0).reset();   //Call the js reset method before ajax starts
          $.ajax({
              url: $form.attr("action"),
              type: $form.attr("method"),
              data: $form.serialize(),
              success: function(data){
                 //your code when response arrived here
              }
          });
      });
      

      希望这会有所帮助。干杯

      【讨论】:

        猜你喜欢
        • 2013-05-26
        • 1970-01-01
        • 1970-01-01
        • 2019-03-21
        • 1970-01-01
        • 2010-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多