这是指向工作表单的链接:http://jsbin.com/vuroyaparo/2/
我正在尝试点击三个按钮中的任何一个来验证表格(radiobutton,4估计每日使用按钮,保存产品)
a)如果用户点击任何按钮,则会显示一条警告,显示所有空白字段,并根据输入不断更新错误。
当我在代码中输入函数returnVal时,我在控制台中得到了错误 未捕获的TypeError:无法读取属性'catDropdown'的null
它在开始时运行我的功能,但即使是第一次下拉也不会验证。 catDropdown是一个标记HTML select元素的变量。
对于复选框相同的问题,所以我尝试编写2个选项(在js文件的末尾注释)
我错过了什么。 (大或小)=啊啊;
有人可以帮助我吗?我第一次尝试验证。我正在寻找JS解决方案,因为我不知道Jquery。
感谢
答案 0 :(得分:2)
错误未捕获的TypeError:无法读取属性'catDropdown'为null ,因为您调用了var energyForm = document.getElementById("energyForm");
,但您的HTML中没有ID ='energyForm'的元素。您可以为表单提供ID和引用,或者调用document.getElementsByName("energyForm")[0]
。
另请注意第if(energyForm.catDropdown.selectedIndex = 0){
行
将值0赋给energyForm.catDropdown.selectedIndex,而不是将其值与0进行比较。除此之外,您可能只想要这一行:if(catDropdown.selectedIndex == 0){
进一步注意,行var catDropdown = document.getElementById("dd1");
也将返回null,因为HTML中没有ID ='dd1'的元素。 ID ='ddl'和name ='dd1'的选项可以使用 var catDropdown = document.getElementById("ddl");
或 var catDropdown = document.getElementById("dd1")[0];