我有一个带有动态创建的Select Box
和两个Inputs
类型的表单。
当ID为FirstName的输入文本从空白更改时,我试图禁用选择框。我想我已经接近了,但是我的功能似乎不想工作。
很抱歉所有菜鸟问题。我先尝试弄清楚,尝试许多不同的想法,然后,如果失败,我会进行大量研究,然后当我放弃时,来到这里...这个地方是丰富的知识来源。
我希望有一天我能帮忙。尝试输入和text
,但无法启动我的函数。而且像通常的chrome调试器一样,完美无缺。
我没有显示选择框的代码,但只知道其ID为“常规”
onchange
function regcheck() {
if document.getElementById('FirstName').value == "" {
document.getElementById('regulars').disabled = false;
} else {
document.getElementById('regulars').disabled = true;
};
}
答案 0 :(得分:1)
function regcheck() {
if (document.getElementById('FirstName').value === "") {
document.getElementById('regulars').removeAttribute('disabled');
} else {
document.getElementById('regulars').setAttribute('disabled', 'disabled');
};
}
<select id="regulars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<br>
<input type="text" name="FirstName" id = "FirstName" value="" oninput="regcheck()";><br>
<input type="text" name="FirstSong" value="">
答案 1 :(得分:1)
就像评论说的那样。您的代码唯一缺少的是条件中的括号。因此会引发错误。
<script>
function regcheck() {
if (document.getElementById('FirstName').value == "") {
document.getElementById('regulars').disabled = false;
} else {
document.getElementById('regulars').disabled = true;
};
}
</script>
<select id="regulars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<br>
<input type="text" name="FirstName" id = "FirstName" value="" oninput="regcheck()";><br>
<input type="text" name="FirstSong" value="">
答案 2 :(得分:1)
正如其他人所说,示例中缺少常规选项复选框和括号。 这可能会起作用
<html>
<body>
<form action="/action_page.php">
<input type="text" name="FirstName" id = "FirstName" value="" oninput="regcheck()";><br>
<input type="text" name="FirstSong#" value="">
<input type="checkbox" id='regulars' checked>regulars<br>
<input type="submit" value="Submit">
</form>
<script>
function regcheck(){
if (document.getElementById('FirstName').value == "") {
document.getElementById('regulars').disabled = false;
}else{
document.getElementById('regulars').disabled = true;
};
}
</script>
</body>
最好将JavaScript放在页面的末尾,以使其与渲染的Dom一起使用
答案 3 :(得分:-1)
有时,在动态更改文档内部的DOM时,通常不起作用。 试用Jquery的“ on”功能。可能有用。