1

我有一个在页面加载时隐藏的联系表格。然后可以通过单击联系表单按钮查看联系表单,使其向上滑动和向下滑动。问题是,当表单提交时,页面会刷新,如果有错误消息或成功消息,由于页面已重新加载,它会被隐藏,您必须单击“联系表单”按钮才能看到它。我不擅长 jquery 或 php。任何帮助将非常感激。提交表单后,我需要显示消息。

该网站是http://www.carlisleironing.co.uk/index.php

我的jQuery是

$(document).ready(function () {
    $("#contactLink").click(function () {
        if ($("#contactForm").is(":hidden")) {
            $("#contactForm").slideDown("slow");
        } else {
            $("#contactForm").slideUp("slow");
        }
    });
});
4

3 回答 3

1

添加以下内容(就});在您问题的最后一个之前):

if ($('#contactForm #error').size() > 0){
    $('#contactForm').slideUp('slow'); // or just .show();
}

测试#error元素是否存在,如果存在,则显示表单。我不确定您的成功信息是什么样的,但类似的测试也可以用于此。

至于其他答案:是的,您可以进行 AJAX 提交,但很有可能(我在这里假设上下文)超出了这个问题的范围。这将涉及特殊请求处理和添加的额外验证库(y/ies)。

于 2013-06-25T15:59:14.553 回答
0

您可以使用 ajax 提交表单并显示结果而无需重新加载页面:

$('form').submit(function() {
    $.post($(this).attr('action'), $(this).serialize(), function(data) {
        console.log(data);
    });
    return false;
});
于 2013-06-25T15:58:38.500 回答
0

我假设当有人提交表单时,php 页面会生成错误,但用户无法看到它们,因为默认情况下表单在页面加载时是隐藏的。

您可以命名提交按钮。如果用户单击提交按钮,按钮的值将随 get 或 post 请求一起发送。然后,您可以更改 php 页面的行为,以便在提交表单时不隐藏联系表单。

<input type="submit" name="theSubmitButton" value="Submit!" />

如果用户提交了表单,则在 php$_GET['theSubmitButton']中(或 $_POST,如果您使用的是 post 请求)将被设置,如果不是这种情况,则不会被设置。您可以使用isset( $_GET['theSubmitButton'] )来测试用户是否确实提交了页面并相应地更改联系表单的类。

于 2013-06-25T16:05:06.590 回答