2016-09-02 9 views
1

Internet Explorerを使用してページに読み込まれているiframeフォーム内で、次のJavaScriptコードが実行されていません。フォームがiframeの外側に読み込まれると、正常に動作します。この問題は、実行していない下記のコードに絞っています。以下のコードでは、フォーム上の現在の年または未来の年を選択することができます。 IE11以降では、選択ボックスは空ですが、ChromeとFirefoxのオプションが表示されます。しかし、それはEdgeで働いています。Internet Explorerでiframe内のJavascriptが機能しない

 <script type="text/javascript"> 
      var $year = new Date().getFullYear() - 2000; 
      var test = ''; 
      if(test > 2000) 
       test = test - 2000; 
      for(var i =0;i<10;i++) { 
       var selected = ""; 
        if(test == '') { 
         if(i == 2) 
         selected = "selected"; 
        } else { 
         if(i+$year == test) 
          selected = "selected"; 
        } 
       document.write("<option value='"+(i+$year)+"' "+ selected +">"+ (i+$year) +"</option>"); 
      } 
      </script> 

答えて

0

わかりやすくするためにコードを少し書き直しました。おそらく変数のテストをチェックしたいと思うなら何が必要なのでしょうか?

IE11では、このコードをローカルでテストすると、警告が表示され、スクリプトがローカルで実行されないように警告されます。

これは本当にもあなたが(書き込み経由)を選択し、あなたに項目を追加する方法ではありませんが、私はそれが技術的に:-)

<select> 
    <script type="text/javascript"> 
    var $year = new Date().getFullYear() - 2000; 
    var test = ''; 

    if(test > 2000) { 
    // This never happens 
    test = test - 2000; 
    } 

    for(var i=0; i<10; i++) { 
    var selected = ""; 

    if(test == '') { 
     // This always happens as test is '' 
     if(i == 2) { selected = "selected"; } 
    } else { 
     // This never happens 
     if(i+$year == test) { selected = "selected"; } 
    } 

    document.write("<option value='"+(i+$year)+"' "+ selected +">"+ (i+$year) +"</option>"); 
    } 
    </script> 
</select> 
の作品推測
関連する問題