我是 JavaScript 新手。
我修改了一个函数,当用户从下拉菜单中选择"is"时,它会在 div 区域中创建 3 个文本框。
这是我的表单下拉代码:
<select name="dosage" id="dosage" onchange="function dosage(sel)">
<option value="No">No</option>
<option value="Yes">Yes</option>
</select>
<div id="dosagearea"></div>
这是我修改的 JavaScript,最初在用户选择某些内容时向用户创建一个消息框。
function dosage(sel)
{
if(sel.options.selectedIndex == 0)
{
return false;
}
else if(sel.options.selectedIndex == 'Yes')
{
x=document.createElement('input');
x.setAttribute('rows',1);
x.setAttribute('cols',20);
x.name='dosage_emitted';
document.getElementById('dosagearea').appendChild(x);
x=document.createElement('input');
x.setAttribute('rows',1);
x.setAttribute('cols',20);
x.name='dosage_absorbed';
document.getElementById('dosagearea').appendChild(x)
x=document.createElement('input');
x.setAttribute('rows',1);
x.setAttribute('cols',20);
x.name='dosage_period';
document.getElementById('dosagearea').appendChild(x)
}
}
我检查了 firebug,没有返回任何 JS 错误,我认为我的函数没有以正确的方式调用。
谢谢
最佳答案
onchange 属性的值基本上是函数或某些 JavaScript 的名称。如果你想用 select 元素作为参数调用你的函数,你需要这样做
<select name="dosage" id="dosage" onchange="dosage(this)">
请注意,这不是推荐的做法,因为它将 HTML 与 JS 结合在一起。相反,尝试直接在 JS 中添加事件,如下所示
window.onload = function() {
document.getElementById("dosage").onchange = dosage;
function dosasage(event) {
var sel = event.currentTarget;
}
}
关于javascript - 在选择 javascript 时不能使用下拉功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6684551/