2013-02-13 109 views
0

我正在嘗試使用javascript來完成此操作。我有一個選擇列表調用JavaScript函數的onchange事件。 Javascript永遠不會運行,因爲我已將函數更改爲簡單的警報,並且永遠不會彈出。任何明顯的錯誤呢?使用選擇列表中的選定值的值填充文本字段

HTML

select name="nSupervisor" id="iSupervisor" onchange="PopulateUserName()"> 
     <option value="">---------- </option> 
     <option value="test1">Actual Text</option> 
    </select> 
<input id="iSupervisorUserName" name="OBKey_WF_Manger_Supervisor_1" type="text" /> 

的JavaScript

function PopulateUsername() { 
    var dropdown = document.getElementById("iSupervisor"); 
    var field = document.getElementByID("iSupervisorName"); 
    field.value = dropdown.value; 
    } 

回答

0

你已經在你的代碼有一些錯誤存在。

首先,確保function PopulateUsername()不被其他函數包裝。現在,我認爲不是。

其次,JavaScript區分大小寫,所以你打電話PopulateUserName()這不是PopulateUsername()

第三,當您嘗試var field = document.getElementByID(時,您將遇到錯誤,因爲它應該是getElementById < - 小寫字母'd'。

之後,它應該工作,並將值(「test1」)放到您的文本框中。

JsFiddle示例:http://jsfiddle.net/LrCwK/2/

+0

所有這些問題應該在Javascript控制檯中報告。 – Barmar 2013-02-13 20:14:03

1

這是如何做到這一點,

function PopulateUsername() { 
    var sup = document.getElementById("iSupervisor"); 
    var field = document.getElementById("iSupervisorName"); 
    field.value = sup.options[sup.selectedIndex].value; 
} 
+0

感謝您的糾正。我仍然有一個問題,該函數沒有被調用。據我瞭解,只要選擇列表失去焦點,onchange事件應該被調用,但什麼也沒有發生..... – user2047203 2013-02-13 20:07:47

+0

你有一個錯誤的函數名稱..其'PopulateUserName'不''PopulateUsername':P – 2013-02-13 20:13:02

相關問題