添加另一个 JavaScript 时出现 JavaScript 问题

javascript problems when another javascript added

本文关键字:JavaScript 问题 另一个 添加      更新时间:2023-09-26

我有以下脚本可以正常工作,直到我添加下面的其他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事件处理程序,而不是在它上面。

您忘了向函数添加结束 }。这导致了错误,并导致之后的任何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;
   }
}
生成的

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

cbr202=Math.random()*10000000000000000;

我认为您需要更改代码,如下所示

var cbr202=Math.random()*10000000000000000;