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なくなります。body 終了タグの直前に以下を追加します。

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>');

何が問題を引き起こしているのかわかりません。経験のある人が問題を理解できることを願っています。


解決済み:私はそれを理解しました...それは私のずさんさによるものでした。jquery イベント ハンドラは、document.write スクリプトの上ではなく、下に配置する必要があります。

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 に答える