2013-02-13 114 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

相关问题