JQuery表单回调函数

时间:2012-01-23 04:30:21

标签: jquery forms selector

我一直在努力解决我认为简单的JQuery选择器问题,但我现在已经搞砸了一段时间并且似乎无法获得理想的结果。

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

// if(data ==“感谢您的提交。代表会尽快与您联系。”){'关闭表格包含div'}

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

1 个答案:

答案 0 :(得分:2)

您在$(this)方法的成功处理程序中使用post,而这不会指向正在提交的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;
    });