JQuery表单回调函数

标签 jquery forms selector

我一直在努力解决我认为是一个简单的 JQuery 选择器问题,但我已经搞乱它有一段时间了,似乎无法获得所需的结果。

我有一个包含多个 li 的无序列表,每个 li 都是包含表单元素的隐藏 div 的同级;所以我基本上在一个页面上有多个表单。在不使用 ID 或其他类的情况下,我希望能够在提交相应表单时“隐藏”或“slideUp”当前“隐藏”div 元素。

//if(data == "感谢您的提交。我们的代表将尽快与您联系。"){ '关闭包含 div 的表单' }

任何帮助将不胜感激。可以在此处查看该网站和问题的实时版本:http://clients.jayjodesign.com/executive-council/staging/events.php

最佳答案

您在 post 方法的成功处理程序中使用 $(this),其中 this 不会指向正在提交的form。您应该将 this 实例存储到局部变量中,然后在成功处理程序中使用它。试试这个

$(".event-form").submit(function(event) {
                var $form = $(this);
        var action = $form.attr('action'),
            $fields = $form.serializeArray();

        $.post(action, $fields, function(data, textStatus, xhr) {

            alert(data);

            if(data == "Thank you for your submission. A representative will contact you soon."){

                $form.parent('div.right-column').slideUp();

            }

        });

        return false;
    });

关于JQuery表单回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8967199/

相关文章:

javascript - 根据数量用矩形填充页面

javascript - 使用 Jquery .click 显示/隐藏切换,适用于新用户,但不适用于种子

javascript - jquery 每个选择器都不起作用

jquery根据动态添加的属性选择元素

iphone - cancelPreviousPerformRequestsWithTarget 在 dealloc 中不起作用

java - 如何在 Struts 2 中仅获取特定字段作为响应

javascript - 同一页面上的多个 slider 使用 jQuery Slippry 插件

jquery - 最后带有弹跳的 css3 动画

php - 在没有表单的情况下将数据发送到另一个页面

JavaScript IE 使用 form.submit() 双重提交