我需要动态更改HTML元素的类,具体取决于用户使用单选按钮做出的选择,但问题是我收到了消息
“Erreur:失踪”参数列表之后 Fichier资料来源:网站 Ligne:1,Colonne:71 代码来源: 。的document.getElementById( 'jj_conjoint')的setAttribute( '类', '验证[' 需要 ']');”
我的代码:
<label>Husband/Wife :</label>
<input type="radio" name="not_single" value="yes" onclick="document.getElementById('birthdate_partner').setAttribute('class','validate['required']');">yes
<input type="radio" name="not_single" value="no" checked="checked">no
<select name="birthdate_partner" id="birthdate_partner">
<option value="" selected="selected">-</option>
<option value="1987" >1987</option>
<option value="1986" >1986</option>
<option value="1985" >1985</option>
<option value="1984" >1984</option>
</select>
答案 0 :(得分:3)
您尚未引用ID字符串,因此document.getElementById
会返回null
,因为未加引号的字符串被视为未初始化的变量,将评估为undefined
。
document.getElementById('birthdate_partner').setAttribute('class',validate['required']);
答案 1 :(得分:1)
document.getElementById(birthdate_partner)
指的是名为birthdate_partner
的变量。相反,您应该将ID作为字符串传递:
document.getElementById('birthdate_partner')
变量birthdate_partner
永远不会分配给某个值,因此它是undefined
,因此会调用它:
document.getElementById(undefined)
哪个不起作用。
答案 2 :(得分:0)
您可以使用jQuery执行此操作:
$("[name=birthdate_partner]").removeClass(className);
$("[name=birthdate_partner]").addClass(className);