提交时,简单的弹出式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;
}
答案 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";
}