带回表格

时间:2012-05-23 08:35:33

标签: jquery

我的表单存在此问题,一旦提交,您将收到错误消息,如果您没有填写任何字段。 我希望用户在看到错误消息后可以选择退回表单,并可以选择重新填充表单。 我觉得我可以清楚地解释一下,亲自检查一下:www.insead4sq.com

                    <form method="post" action="default.asp?Process=add" id="SIGNUPFORM"><a href="#" name="signup"></a>
                        <fieldset>
                            <p>
                                <label>Name</label>
                                <input type="text" name="FIRSTNAME" id="FIRSTNAME" size="55" value="" />
                            </p>
                            <p>
                                <label>Surname</label>
                                <input type="text" name="LASTNAME" id="LASTNAME" size="55" value="" />
                            </p>
                            <p>
                                <label>Email Address</label>
                                <input type="text" name="EMAILADDRESS" id="EMAILADDRESS" size="55" value="" />
                            </p>
                            <p>
                                <label>Password</label>
                                <input type="password" name="PASSWORD" id="PASSWORD" size="55" value="" />
                            </p>
                            <p>
                                <label>Hometown</label>
                                <input type="text" name="CITY" id="CITY" size="55" value="" />
                            </p>
                            <p>
                                <input type="button" name="signup" value="Sign Up" class="submit" />
                            </p>
                        </fieldset>
                    </form>   

<script type="text/javascript">
$(document).ready(function() { 
    $("[name='signup']").click(function() { 
            $.ajax({
                type: "POST",
                data: $("#SIGNUPFORM").serialize(),
                url: "default.asp?Process=add", 
                success: function(output) { 
                $('#SIGNUPFORM').html(output)
                },
                error: function(output) {
                $('#SIGNUPFORM').html(output);
                }
            }); 
    }); 
    $(function update() {
        $.ajax({
            type: "GET",
            url: 'default.cs.asp?Process=TotalMembers',
            timeout: 2000,
            success: function(data) {
                $(".totalmembers").html(data);
                window.setTimeout(update, 5000);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                $(".totalmembers").html('.');
                window.setTimeout(update, 60000);
            }
        });
    });
}); 
</script>

3 个答案:

答案 0 :(得分:0)

使用预先制作的JQuery Validate会不会更容易?是动态验证,并在字段中添加一个类“错误”,以便您可以 - 例如 - 更改CSS。

答案 1 :(得分:0)

假设出现错误,您将返回文本错误消息,请尝试此操作。

首先,将div添加到页面加载时不可见的页面:

<div id="errorMessage" style="display: none"></div>

然后更改您的error处理程序以在其中显示上面的错误消息,而不是删除您的表单:

error: function(output) {
    $('#errorMessage').html(output).show();
}

答案 2 :(得分:0)

不是最好的做事方式。但是如果你想让它按原样运行,可以改变你的错误函数,使其包含如下所示的内容。

 $('#SIGNUPFORM').prepend($('<div></div>').attr({id:'dynamicResponse'}).append(output))