2016-06-21 97 views
0

當我選擇谷歌的提交按鈕的價值變成google.com和我選擇雅虎提交按鈕的價值將會改變。這是我的嘗試。如何創建動態javascript功能

<script> 
     function goToNewPage() { 
      if(document.getElementById('target').value){ 
       window.open('url','_blank'); 
      } 
     } 
     </script> 
<form name="dropdown"> 
      <select name="selected" id="target" accesskey="E"> 
      <option selected>...Select...</option> 
      <option value="http://www.google.com">Google</option> 
      <option value="http://www.yahoo.com/">Yahoo</option> 
      </select> 
      <input type="button" value="Go" onclick="goToNewPage(document.dropdown.selected)"> 
     </form> 
+0

有沒有在你的代碼提交按鈕......?你希望按鈕文本根據你從下拉列表中選擇的內容而改變(說文本)?或者在新窗口中打開一個從選定下拉值中獲取的URL(說代碼)? – Teemu

+0

當有些人選擇谷歌,然後點擊提交按鈕,然後打開一個新的標籤與谷歌鏈接,當一些點擊雅虎然後打開新標籤與雅虎鏈接...在最後一行 Student

回答

0

你是非常接近的。 這個編輯版本修復了它。 (fiddle

HTML - 爲所選內容添加值。刪除嘗試設置路徑中的URL。爲按鈕添加了一個ID,用於新功能。

<form name="dropdown"> 
     <select name="selected" id="target" accesskey="E" onchange="changeText()"> 
     <option value="nothing" selected>...Select...</option> 
     <option value="http://www.google.com">Google</option> 
     <option value="http://www.yahoo.com/">Yahoo</option> 
     </select> 
     <input type="button" value="Go" id="butGo" onclick="goToNewPage()"> 
    </form> 

JS - 當函數被調用設置URL。不要將URL放在引號中。它會認爲這是一個字符串。

function goToNewPage() { 
    url = document.getElementById('target').value; 
    //alert(url) 
     if(document.getElementById('target').value!='nothing'){ 
      window.open(url,'_blank'); 
     } 
    } 

如果要更改按鈕上的文字,這樣做:

function changeText(){ 
    url = document.getElementById('target').value; 
    if (url=='http://www.google.com') { 
    document.getElementById('butGo').value = 'Google' 
    } 
    if (url=='http://www.yahoo.com/') { 
    document.getElementById('butGo').value = 'Yahoo' 
    } 
} 
+0

是的。謝謝老闆。 – Student