我正在使用此js代码验证正确的电子邮件是否已被输入表单。如果没有,则会弹出一个警告框。
function validateForm() {
var valid = true;
var errMsg = "";
var email = document.emailform.email.value;
//var fname = document.emailform.fname.value;
var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
//if(fname.length <= 0) {
//valid = false;
//errMsg += "Please provide a valid first name.\n";
//}
if(email.length <= 0) {
valid = false;
errMsg += "Email address is required.\n";
} else {
if (!filter.test(email)) {
valid = false;
errMsg += "Please provide a valid email address.\n";
}
}
if (errMsg.length > 0) {
alert(errMsg);
return false;
}
}
在我结束之前,我有这个......
<script>$('#awform').submit(validateForm);</script>
这很好用。
我还有另一个javascript代码,我通常在结束标签之前输入,在正常情况下工作正常。
<script language="JavaScript" type="text/javascript"> cbr202=Math.random()*10000000000000000;document.write('<scr'+'ipt language="JavaScript" src="http://mywebsite.com/track/static/landing.php?lpip=123&202cb='+cbr202+'" type="text/javascript"></scr' + 'ipt>'); </script>
最后一篇文章是我使用的自定义分析程序。
我遇到的问题是当我一起使用这两个脚本时,验证不再有效。
所以我做......
<script language="JavaScript" type="text/javascript"> cbr202=Math.random()*10000000000000000;document.write('<scr'+'ipt language="JavaScript" src="http://mywebsite.com/track/static/landing.php?lpip=123&202cb='+cbr202+'" type="text/javascript"></scr' + 'ipt>'); </script>
<script>$('#awform').submit(validateForm);</script>
</body>
根据要求,这是跟踪脚本的样子....
function t202Init(){
//this grabs the cid, but if they set a forced kw, this will be replaced
if (readCookie('t202forcedkw')) {
var cid = readCookie('t202forcedkw');
} else {
var cid = t202GetVar('cid');
}
var lpip = '<? echo htmlentities($_GET['lpip']); ?>';
var campid = t202GetVar('campid');
var OVRAW = t202GetVar('OVRAW');
var OVKEY = t202GetVar('OVKEY');
var OVMTC = t202GetVar('OVMTC');
var c1 = t202GetVar('c1');
var c2 = t202GetVar('c2');
var c3 = t202GetVar('c3');
var c4 = t202GetVar('c4');
var target_passthrough = t202GetVar('target_passthrough');
var keyword = t202GetVar('keyword');
var referer = document.referrer;
var resolution = screen.width+'x'+screen.height;
var language = navigator.appName=='Netscape'?navigator.language:navigator.browserLanguage;
language = language.substr(0,2);
document.write("<script src=\"<?php echo $strProtocol; ?>://<? echo $_SERVER['SERVER_NAME']; ?>/jump/static/record.php?lpip=" + t202Enc(lpip)
+ "&campid=" + t202Enc(campid)
+ "&cid=" + cid
+ "&OVRAW=" + t202Enc(OVRAW)
+ "&OVKEY=" + t202Enc(OVKEY)
+ "&OVMTC=" + t202Enc(OVMTC)
+ "&c1=" + t202Enc(c1)
+ "&c2=" + t202Enc(c2)
+ "&c3=" + t202Enc(c3)
+ "&c4=" + t202Enc(c4)
+ "&target_passthrough=" + t202Enc(target_passthrough)
+ "&keyword=" + t202Enc(keyword)
+ "&referer=" + t202Enc(referer)
+ "&resolution=" + t202Enc(resolution)
+ "&language=" + t202Enc(language)
+ "\" type=\"text/javascript\" ></script>"
);
}
function t202Enc(e){
return encodeURIComponent(e);
}
function t202GetVar(name){
get_string = document.location.search;
return_value = '';
do {
name_index = get_string.indexOf(name + '=');
if(name_index != -1) {
get_string = get_string.substr(name_index + name.length + 1, get_string.length - name_index);
end_of_value = get_string.indexOf('&');
if(end_of_value != -1) {
value = get_string.substr(0, end_of_value);
} else {
value = get_string;
}
if(return_value == '' || value == '') {
return_value += value;
} else {
return_value += ', ' + value;
}
}
}
while(name_index != -1)
//Restores all the blank spaces.
space = return_value.indexOf('+');
while(space != -1) {
return_value = return_value.substr(0, space) + ' ' +
return_value.substr(space + 1, return_value.length);
space = return_value.indexOf('+');
}
return(return_value);
}
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
t202Init();
答案 0 :(得分:3)
尝试切换两个脚本的顺序。似乎自定义分析程序正在运行document.write
,这有点令人讨厌,并且可能导致文档的其余部分无法正确解析。
答案 1 :(得分:0)
您的嵌入式Javascript代码可能会破坏您的脚本。每当我尝试写一个表格的脚本时:
<script>
// Some stuff here
<script>
// More stuff here
</script>
</script>
脚本中断了。尝试使用其他方法加载分析。
答案 2 :(得分:0)
为什么不使用jQuery添加脚本标记。你显然包含了jQuery。
尝试
<script type="text/javascript">
var cbr202 = Math.random() *10000000000000000;
$('head').append('<scr'+'ipt type="text/javascript" src="http://mywebsite.com/track/static/landing.php?lpip=123&202cb='+cbr202+'" />');
</script>