2012-02-06 165 views
2

我有一个多部分窗体来创建自定义图章。我有它的主要大块工作得很好,但我正在争取让边框采取与文本颜色选择相同的颜色。我有一个边框px的下拉列表和一个字体颜色的下拉列表。字体颜色工作,我需要边框工作,并采取与字体颜色相同的颜色。 你能让我知道我在这里做错了吗?显示或隐藏div的边框 - Javascript?

http://jsfiddle.net/ShauniD/ELER2/11/(这是完整的代码,所以你可以看到我想要的目的。

我知道有这样做的更好的方法,但我很新,并正在学习peice的一块。如果你愿意这样下去容易

的JavaScript如下:。

function setColor() {  
var color = document.getElementById("color").value;  
document.getElementById("myDiv").style.color = color; 
} 
function addContent(divName, content) { 
document.getElementById(divName).innerHTML = content; 
} 
function border(border) { 
document.getElementById("myDiv").style.borderWidth = border; 
} 

的HTML如下:

<tr> 

     <td> 
      <input name="myContent1"></input> 
      <input type="button" value="Add content" onClick="addContent('lineTwo', document.myForm.myContent1.value); setCookie('content', document.myForm.myContent1.value, 7);"> 
     </td> 
</tr> 
<tr><td> 
<select id="color" onclick="setColor();"> 
     <option value="white">white</option>   
     <option value="black" selected="selected">black</option>   
     <option value="red">red</option>   
     <option value="lightblue">light blue</option>   
     <option value="darkblue">dark blue</option>   
     <option value="lightgreen">light green</option>   
     <option value="darkgreen">dark green</option>   
     <option value="yellow">yellow</option>   
     <option value="orange">orange</option>   
     <option value="pink">pink</option>   
     <option value="purple">purple</option>   
     <option value="gray">gray</option>   
    </select></td></tr> 
    <tr><td> 
    <select id="border" onchange="border(this.value);"> 
     <option value="1px solid" selected="selected">1px</option> 
     <option value="2px solid">2px</option> 
     <option value="3px solid">3px</option> 
     <option value="4px solid">4px</option> 
     <option value="5px solid">5px</option> 
    </select></td></tr> 
</form> 

<div id="myDiv"> 
     <div id="lineOne"></div> 
     <div id="lineTwo"></div> 
     <div id="lineThree"></div> 
     <div id="lineFour"></div> 
    </div> 

请看看完整的代码,以便了解它究竟是什么我在做什么。

回答

2

更改你的功能的名称,例如'changeborder',它会适用于你。

浏览器不同意使用与元素相同的名称。

+0

为什么浏览器同意[这里](http://jsfiddle.net/AZkfy/7/)? – 2012-02-06 09:16:47

+0

或者,更简单,删除或更改属性'id =“border”'。目前尚不清楚为什么在这里使用相同的标识符是一个问题,但它是。 – 2012-02-06 09:22:22

+0

我按照你的建议更改了函数名称,并删除了attribut(id =“border”)。我似乎还不能使它工作。 – 2012-02-06 09:37:00

0

您的选项的值必须是“0px none”。也许“无”或“0px”就足够了。

+0

为什么-1?它确实有效。好吧,我没有看到函数名称的错误.. – reporter 2012-02-06 09:19:01