2
我有這個簡單的JavaScript代碼,這是一個名稱和電子郵件的形式。你可以看到最後有一個'感謝你註冊'提醒信息。 我想替換一個不錯的覆蓋頁面來說'謝謝你註冊',而不是在警告框中使用相同的消息... 任何人有想法? 我試圖與windows.location但它不會工作:(Javascript覆蓋而不是提醒
<script language="Javascript">function emailCheck(emailStr) {
var emailPat = /^(.+)@(.+)$/;
var specialChars = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
var validChars = "\[^\\s" + specialChars + "\]";
var quotedUser = "(\"[^\"]*\")";
var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom = validChars + '+';
var word = "(" + atom + "|" + quotedUser + ")";
var userPat = new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat = new RegExp("^" + atom + "(\\." + atom + ")*$");
var matchArray = emailStr.match(emailPat);
if (matchArray == null) {
alert("Email address seems incorrect (check @ and .'s)");
return false;
}
var user = matchArray[1];
var domain = matchArray[2];
if (user.match(userPat) == null) {
alert("The username doesn't seem to be valid.");
return false;
}
var IPArray = domain.match(ipDomainPat);
if (IPArray != null) {
for (var i = 1; i <= 4; i++) {
if (IPArray[i] > 255) {
alert("Destination IP address is invalid!");
return false;
}
}
return true;
}
var domainArray = domain.match(domainPat);
if (domainArray == null) {
alert("The domain name doesn't seem to be valid.");
return false;
}
var atomPat = new RegExp(atom, "g");
var domArr = domain.match(atomPat);
var len = domArr.length;
if ((domArr[domArr.length - 1] != "info") &&
(domArr[domArr.length - 1] != "name") &&
(domArr[domArr.length - 1] != "arpa") &&
(domArr[domArr.length - 1] != "coop") &&
(domArr[domArr.length - 1] != "aero")) {
if (domArr[domArr.length - 1].length < 2 ||
domArr[domArr.length - 1].length > 3) {
alert("The address must end in a three-letter domain, or two letter country.");
return false;
}
}
if (len < 2) {
var errStr = "This address is missing a hostname!";
alert(errStr);
return false;
}
return true;
}
function UPTvalidateform(thisform)
{
if (thisform.val_1.value == "") {
alert("Please enter a value for Name");
return(true);
}
if (emailCheck(thisform.email.value))
{
if ((document.getElementById('unsubscribe')
&& document.getElementById('unsubscribe').checked) && (document.getElementById('showpopup') && document.getElementById('showpopup').value == "on")) {
alert('Thank you, now you are unsubscribed!');
}
else if (((document.getElementById('unsubscribe')
&& !document.getElementById('unsubscribe').checked) || (!document.getElementById('unsubscribe'))) && (document.getElementById('showpopup') && document.getElementById('showpopup').value == "on")) {
alert('Thank you for signing up!');
}
return false;
}
else
{
return true;
}
}
</script>
重疊將是異步的,而'alert'不是。修改'window.location'當然會卸載當前頁面,這聽起來不是一個好主意。 – Bergi 2013-05-08 10:26:35
http://jqueryui.com/dialog/ – 2013-05-08 10:26:46