2012-02-06 166 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