2010-08-20 5 views
1

Ce morceau de code produit une page avec deux colonnes verticales:Comment définir la valeur frameset col à une variable

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

Cependant, je veux être en mesure de définir la valeur cols indépendamment comme ceci:

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

et modifiez la valeur cols ... C'est là est mon problème, je ne peux pas obtenir le droit le script ... Voici à quoi il ressemble:

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

Où est-ce que je me trompe?

Répondre

2

Il y a quelques choses que je vois mal dans votre code:

le document. getElementById est une fonction il devrait être appelé comme ceci:

document.getElementById("set"); 

d'autre part, lorsque vous définissez la valeur pour l'attribut d'un élément, par exemple « » dans votre Col. cas, vous devriez le faire comme ceci:

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

Je l'ai fait un test rapide dans Firefox et cela fonctionne:

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

Définir la valeur rapide que: 80

Questions connexes