表单使用AJAX而不是页面刷新,但也使用错误处理?

时间:2013-08-10 07:29:07

标签: javascript ajax

我有一个网络表单,我即将在我的网站上集成。

http://app.bronto.com/public/webform/render_form/gmy3v1ej883x2lffibqv869a2e3j9/37ea72cebcc05140e157208f6435c81b/addcontact/

首先是错误处理。如果您未输入姓名或有效的电子邮件,则会在页面上显示验证消息,但仅在页面刷新后显示 其次,在提交有效(非空)名称和有效电子邮件地址时,它会提交并重定向(重定向网址目前处于脱机状态)。

我的问题是,如何将表单序列化为不刷新页面以显示错误消息并提交?如果提交时没有错误,则应显示“您已订阅”等消息。

我尝试使用if data == success来显示成功消息,但没有运气。如果它不成功,我似乎也无法显示错误消息,我认为这是我确定是否有错误或成功的问题。

简而言之,我正在尝试使用ajax作为错误消息,并在提交时使用成功消息,而不进行任何刷新。

关于这个的任何想法?感谢

2 个答案:

答案 0 :(得分:2)

我认为jquery.form可能适合你,它用于提交表格而不需要任何刷新,并且非常有名。在其官方网站上有很多例子,它非常容易使用。

希望有所帮助;)

答案 1 :(得分:-1)

使用正则表达式验证javascript中的电子邮件

<form action =" <action page>" method="<post/get>" id="frm1">
Email: <input type="text" name="email" id="email"><br>
<input type="button" onclick="Validate()" value="Submit form">
</form>

将此脚本放在头部

<script>
function IsValidEmail(email) {
            var expr = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
            return expr.test(email);
        };
        function Validate() {
            var email = document.getElementById("email").value;
            if (!IsValidEmail(email)) {
                alert("Invalid email address.");
            }
            else {
                alert("Valid email address.");
            }
        }
        </script>