Javascript jQueryForm(插件)在提交时使用表单执行操作->$(本)

Javascript jQueryForm(插件)在提交时使用表单执行操作->$(本),javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我在一个页面上有多个表单,我使用它来处理它们,而无需重新加载页面。问题是,我需要一些视觉响应,表单提交是否有效,所以如果有效,我将边框从灰色更改为绿色,如果无效,则更改为红色 好的,这适用于纯jQuery,但不适用于这个插件,因为当我使用$(this)时,它指的是函数本身 有人知道怎么做吗 var edit_form = { dataType: 'json', success: function(output) { console.log($(this));

我在一个页面上有多个表单,我使用它来处理它们,而无需重新加载页面。问题是,我需要一些视觉响应,表单提交是否有效,所以如果有效,我将边框从灰色更改为绿色,如果无效,则更改为红色

好的,这适用于纯jQuery,但不适用于这个插件,因为当我使用
$(this)
时,它指的是函数本身

有人知道怎么做吗

var edit_form = {
    dataType: 'json',
    success:    function(output) {
        console.log($(this));
        $form = $(this);
        $form.css("border-color", "green");
        setTimeout(function(){
            $form.css("border-color", "#323131");
        }, 3000);
    },
    error: function(output) {
        console.log($(this));
        $form = $(this);
        $form.css("border-color", "red");
        setTimeout(function(){
            $form.css("border-color", "#323131");
        }, 3000);
    }
};
$('.twitch-form').ajaxForm(edit_form);
控制台日志返回以下内容:

[Object, constructor: function, init: function, selector: "", jquery: "1.7.2", size: function…]
通常情况下,我会使用
$.post
,但我需要能够用这些表单上传图像

谢谢。

如果查看(查看
success
选项),success方法将表单对象作为第四个参数

成功
创建表单后要调用的回调函数 提交。如果提供了“success”回调函数,则会调用该函数 从服务器返回响应后。它通过了 以下论点: 1.)responseText或responseXML值(取决于数据类型选项的值)。 2.)状态文本 3.)xhr(如果使用jQuery<1.4,则使用jQuery包装的表单元素) 4.)jQuery包装的表单元素(如果使用jQuery<1.4,则未定义)

所以


演示:

根据文档,以下是创建成功回调的方法:

var options = {
    success: showResponse
    ...
}

function showResponse(responseText, statusText, xhr, $form)  {
    ...
}

阅读API,在其中提供可用选项。。。试试这个

<script> 

    $(document).ready(function() { 
        // bind 'myForm' and provide a simple callback function 
        var options = { 
          target:     '#divToUpdate', 
          url:        'comment.php', 
          success:    function(){ alert("Success ")},

          error:function(){
            alert("Error occurd");
          }

        }; 
        $('#myForm').ajaxForm(options);  





      }); 
    </script> 

       <form id="myForm" action="" method="post"> 
      Name: <input type="text" name="name" /> 
      Comment: <textarea name="comment"></textarea> 
      <input type="submit" value="Submit Comment" /> 
    </form>

$(文档).ready(函数(){
//绑定“myForm”并提供一个简单的回调函数
变量选项={
目标:“#divToUpdate”,
url:'comment.php',
success:function(){alert(“success”)},
错误:函数(){
警报(“错误发生”);
}
}; 
$('#myForm').ajaxForm(选项);
}); 
姓名:
评论:

尝试记录输出而不是$(this)@digitaldouble输出=被调用的文件返回的数据,这对我来说是无用的,主要是在出错的情况下。嗯,好的,我仍然不知道如何获取它。该参数的名称是什么,或者我应该怎么做?因为输出是我的文档中被调用的数据。将您的函数(output)更改为函数(output,statusText,xhr,form)@digitaldouble太好了,我刚刚使用了$form。是的,经过编辑的答案效果很好。我应该接受哪个男人?因为你们都提供了正确的答案。欢迎。我在帖子中发布的链接指向文档的那一部分。@digitaldouble是的,我在底部找到了它,我真的错过了那一部分。Ooops:D哦,现在是早上5点,再次感谢你们,现在一切正常:)我接受了阿伦斯的回答,因为他很快就发布了,但真的感谢你们两位。很遗憾,我不能接受两个答案:(
<script> 

    $(document).ready(function() { 
        // bind 'myForm' and provide a simple callback function 
        var options = { 
          target:     '#divToUpdate', 
          url:        'comment.php', 
          success:    function(){ alert("Success ")},

          error:function(){
            alert("Error occurd");
          }

        }; 
        $('#myForm').ajaxForm(options);  





      }); 
    </script> 

       <form id="myForm" action="" method="post"> 
      Name: <input type="text" name="name" /> 
      Comment: <textarea name="comment"></textarea> 
      <input type="submit" value="Submit Comment" /> 
    </form>