HTML表单提交到数据库并重定向到感谢页面

时间:2014-09-18 20:17:39

标签: javascript php jquery html css

提交时,简单的弹出式HTML表单需要执行两个操作。 1.将客户信息发送到现有数据库 2.将客户重定向到感谢页面。

在另一个Stackoverflow成员的帮助下,能够处理此代码。但是,代码不起作用。我觉得我在做一些非常错误的代码,抱歉无法搞清楚。请帮忙!

目前,表单已发送到数据库,但重定向到现有的邮件列表注册页面,如果我将操作更改为感谢页面,则表单将被发送到感谢页面,但没有提交到数据库。< / p>

我更喜欢使用Jquery,我不太熟悉PHP,如果有人可以指导我,我也可以实现PHP。即使在电子邮件地址输入中未输入任何内容,表单也会被重定向。有没有办法告诉客户输入有效的电子邮件地址,然后带他到Thankyou页面?感谢

数据库地址:“http://www.mywebsite.com/MailingList_subscribe.asp” 感谢您的网页地址:“https://www.mywebsite.com/Articles.asp?ID=252

HTML标头

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">

$(document).ready(function(){
    $('#formId').submit(function(){
        $.ajax({
            type: "POST",
            url: "http://www.mywebsite.com/MailingList_subscribe.asp",
            context: document.body
        }).success(function() {
            location.href = "https://www.mywebsite.com/Articles.asp?ID=252";
        });
    });
  )};
</script>

HTML BODY:

 <form name="MailingList" id="formId" method="post" action="http://www.mywebsite.com/MailingList_subscribe.asp">  
        <input type="text" name="emailaddress" placeholder="Email Address" maxlength="100" size="28"> <br>
        <input type="submit" name="Submit"  value="Submit" width="260px">
      </form>

CSS:

input[type=text] {

padding:1px; border:1px solid #c6c7cc;
box-shadow: inset 0 1px 1px
-webkit-border-radius: 13px;
width: 98%;
font-size:14px;
font-family: Lucida Grande;
font-weight: regular;
margin-left: 2px;
margin-top:10px;

}

input[type=submit] {

background: #9B1C1F;
width: 100%;
font-family: Lucida Grande;
color: #ffffff;
font-weight: bold;
font-size:18px;
text-align:left;
margin-top:10px;
padding:5px 15px;
margin-left:0px;
border:0 none;
cursor:pointer;
display: inline-block;

}

2 个答案:

答案 0 :(得分:0)

$(document).ready(function(){
    $('#formId').submit(function(){
        $.ajax({
            type: "POST",
            url: "http://www.my website.com/MailingList_subscribe.asp",
            context: document.body
        }).success(function() {
            location.replace("https://www.teabeyond.com/Articles.asp?ID=252"); //<=== edit
        });
    });
  )};

要强制用户输入有效的电子邮件,您可以使用

<input type=email />  

而不是

<input type=text />

答案 1 :(得分:0)

使用输入类型=&#34;电子邮件&#34; 最简单的电子邮件验证,但仅适用于现代浏览器 http://www.w3schools.com/html/html5_form_input_types.asp

出于安全考虑,我建议在PHP(服务器端)使用电子邮件验证,因为绕过客户端非常容易(一个例子是着名的cURL库)

在PHP中,电子邮件验证可以这样做:

$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}

来源:http://www.w3schools.com/php/php_form_url_email.asp