2

このコードは、2つの垂直列を持つページを生成します。

<frameset id="set" cols="*,*">
    <frame id="frame1" src="index.html"> 
    <frame id="frame2" src="index2.html"> 
</frameset>  

colsただし、次のように独立して値を設定できるようにしたいと思います。

function setvalue(){   
    var framewidth=prompt("Enter the default right column width : ", "50%")
}

次に、cols値を変更します...これが私の問題の原因であり、スクリプトを正しく取得できません...次のようになります。

<Script>
  document.getElementByid["set"].cols.value = framewidth;
</script>

どこが間違っているのですか?

4

1 に答える 1

3

私があなたのコードで間違っていると思うことがいくつかあります:

ドキュメント。getElementByIdは関数なので、次のように呼び出す必要があります。

document.getElementById("set");

次に、要素の属性に値を設定する場合(たとえば、この場合は「cols」)、次のように設定する必要があります。

document.getElementById("set").cols = "20%, 80%"

Firefoxで簡単なテストを行いましたが、これは機能します。

<html>
<head>
   <script type="text/javascript">
      function setvalue(){   
         var framewidth=prompt("Enter the default right column width : ", "50")

         var width = parseInt(framewidth);
         width = isNaN(width) ? 50 : width;

         var val = (100 - width) + "%, " + width + "%";

         document.getElementById("set").cols = val
      }

      window.onload = setvalue;
   </script>
</head>
<frameset id="set" cols="*,*">
    <frame id="frame1" src="index.html"> 
    <frame id="frame2" src="index2.html"> 
</frameset>
</html>

プロンプトの値を次のように設定します。80

于 2010-08-20T06:56:05.607 に答える