有没有大佬看一下这个表单校验为什么报错?
HTML代码(部分):<tr>
<td id="td1">籍贯:</td>
<td>
<select name="address" id="address" onchange="checkAddress()">
<option value="0">---请选择---</option>
<option value="1">北京</option>
<option value="2">上海</option>
<option value="3">广州</option>
<option value="4">深圳</option>
<span id="address_span"></span>
</select>
</td>
</tr>
JS代码(部分):
function checkAddress(){
var ad=document.getElementById("address").value;
var span=document.getElementById("address_span");
if(ad!=0){
span.innerHTML="*地点选择成功!";
span.style.color="green";
return true;
}else{
span.innerHTML="*请选择正确的地点!";
span.style.color="red";
return false;
}
}
<span id="address_span"></span>
var span=document.getElementById("address_span");
这是干嘛用的,一直没用上啊。你去掉应该就可以了吧 1、鱼油代码想实现:表单提交时,下拉框“籍贯”如果未选择,提示绿色字体:请选择正确地点;反之显示绿色字体的地方名称
2、报错:span元素为空;从鱼油给出的代码span元素应该就是用来显示提示字体的。
3、JS部分获取网页中id为address_span的所有span元素:
var span=document.getElementById("address_span");
然后通过是否选取来修改span元素的值。
4、问题:
<select name="address" id="address" onchange="checkAddress()">
<option value="0">---请选择---</option>
<option value="1">北京</option>
<option value="2">上海</option>
<option value="3">广州</option>
<option value="4">深圳</option>
<span id="address_span"></span>
</select>
因为判断ad的值(select元素中option的value值),有0,1,2,3,4,五种值。
由于span也放在select中,且没有指定任何value值,所以此时有一个为空NULL的存在。
5、解决方案:将span元素放在select外面,这样ad值中不会出现空
<select name="address" id="address" onchange="checkAddress()">
<option value="0">---请选择---</option>
<option value="1">北京</option>
<option value="2">上海</option>
<option value="3">广州</option>
<option value="4">深圳</option>
</select>
<span id="address_span"></span>
不二如是 发表于 2018-10-21 07:47
1、鱼油代码想实现:表单提交时,下拉框“籍贯”如果未选择,提示绿色字体:请选择正确地点;反之显示绿色 ...
谢谢,真的很详细,懂了{:9_232:}
页:
[1]