不能改变验证

eut 发布于 2019-03-09 javascript 最后更新 2019-03-09 14:32 2 浏览

嘿,我使用onchange属性或w.e他们被称为,并且它不会在XHTML 1.0严格viledidate使用我必须使用的w3c验证器,我需要一种解决方法,以便我的代码仍然工作,并验证。  错误是: 第211行,第32列:没有属性“onchange” 这里是它影响的价值或w / e(不正确的顺序只是剪切和粘贴)

Cost of Registration:<input id="cost" name="cost" readonly="readonly"/>
<p>
<input type="checkbox" id="monday" name="Attending" value="monday" />Monday<br />
<input type="checkbox" id="tuesday" name="Attending" value="tuesday" />Tuesday<br />
<input type="checkbox" id="wesnesday" name="Attending"value="wednesday"/>Wesnesday<b/></p>
我有另一个onchange,验证者似乎没有问题
<p>
 <select id="regcat" onchange="autofill()">
 <option value="UWS Student">UWS Student</option>
 <option value="Student at another institution">Student at another institution</option>
 <option value="UWS Academic">UWS Academic</option>
 <option value="Other UWS Staff">Other UWS Staff</option>
 <option value="Academic from another Institution">Academic from another   Institution</option>
 <option value="Professional">Professional</option>
 <option value="Retired">Retired</option>
</select>
</p>
可以在任何地方找到解决办法(抱歉,语法和拼写很晚)
已邀请:

ut_quo

赞同来自:

您需要通过JavaScript而不是属性附加事件处理程序。如果你正在使用jQuery:

$('#regcat').change(autofill);
如果您还没有使用过,请在文档就绪的包装器中使用它。最短的方式:
$(function() {
    $('#regcat').change(autofill);
});
如果你没有使用jQuery,你将使用addEventListener method(但同样,你需要考虑DOM准备好了)。如果您不使用jQuery并且需要支持IE< 9,那么您将不得不在条件注释包装器中添加attachEvent调用。