这是工作表格的链接:http://jsbin.com/vuroyaparo/2/

我试图通过三个按钮(单选按钮,4个估计的日常使用按钮,保存产品)中的任何一个单击来验证表单

a)如果用户单击任何按钮,则会发出警报,显示所有为空的字段,并根据输入不断更新错误。

当我在代码中放入函数returnVal时,控制台出现错误
未捕获的TypeError:无法读取null的属性'catDropdown'

它从一开始就运行我的功能,但即使第一个下拉菜单也无法验证。 catDropdown是标记HTML select元素的变量。

对于复选框相同的问题,因此我尝试编写2个选项(在js文件末尾评论)

我想念一些东西。 (无论大小)=啊;

有谁可以帮助我吗。我第一次进行验证。我只在看JS解决方案,因为我不了解Jquery。

谢谢

最佳答案

错误Uncaught TypeError:无法读取null的属性'catDropdown'是由于您调用var energyForm = document.getElementById("energyForm");而您的HTML中没有ID ='energyForm'的元素而引起的。您可以给表单一个ID并引用它,或者调用document.getElementsByName("energyForm")[0]

另请注意,行if(energyForm.catDropdown.selectedIndex = 0){
将为energyForm.catDropdown.selectedIndex分配值0,而不是将其值与0进行比较。此外,您可能只希望此行为:if(catDropdown.selectedIndex == 0){

进一步注意,由于您的HTML中没有ID ='dd1'的元素,因此var catDropdown = document.getElementById("dd1");行也将返回null。可以使用var catDropdown = document.getElementById("ddl");var catDropdown = document.getElementById("dd1")[0];获得ID ='ddl'和名称='dd1'的选择。

10-06 05:34