0

我有以下脚本可以正常工作,直到我在下面添加其他 javascript...

标题标签中的第一个脚本

function validateForm() {   
    var valid = true;
    var errMsg = "";
    var email = document.emailform.email.value;
    var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;

   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;
   }
}

就在我的结束标签之前......

$('#form').submit(validateForm);

上面的工作正常,除了一旦我添加下面的脚本,validateForm就不再工作了。以下是在结束正文标记之前添加的。

cbr202=Math.random()*10000000000000000;document.write('<scr'+'ipt language="JavaScript" src="http://example.com/landing.php?lpip=411&202cb='+cbr202+'" type="text/javascript"></scr' + 'ipt>');

我似乎无法弄清楚是什么导致了这个问题。希望有经验的人能看出问题。


已解决:我想通了......这是由于我自己的马虎。我应该在 document.write 脚本下面而不是在它上面有 jquery 事件处理程序。

4

3 回答 3

1

您忘记在函数中添加结束 }。这导致了一个错误,并导致之后的任何 JS 都无法执行。

function validateForm() {   
    var valid = true;
    var errMsg = "";
    var email = document.emailform.email.value;
    var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;

   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;
   }
}
于 2012-05-24T21:50:28.957 回答
0

src="http://mysite.com/landing.php?lpip=411&202cb='+cbr202 生成的 url 不存在。浏览器尝试使用 get 请求从 url 加载脚本并失败。

于 2012-05-24T22:00:56.020 回答
0
cbr202=Math.random()*10000000000000000;

我认为您需要更改以下相同的代码

var cbr202=Math.random()*10000000000000000;
于 2012-05-25T01:16:31.393 回答