鱼C论坛

 找回密码
 立即注册
查看: 2952|回复: 3

[已解决]有没有大佬看一下这个表单校验为什么报错?

[复制链接]
发表于 2018-10-20 20:56:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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;
        }
}
最佳答案
2018-10-21 07:47:48
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>
Oct-21-2018 07-46-55.gif



QQ截图20181020205455.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-10-20 23:09:16 | 显示全部楼层
  <span id="address_span"></span>


  var span=document.getElementById("address_span");

这是干嘛用的,一直没用上啊。你去掉应该就可以了吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-21 07:47:48 | 显示全部楼层    本楼为最佳答案   
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>
Oct-21-2018 07-46-55.gif



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-21 10:30:00 | 显示全部楼层
不二如是 发表于 2018-10-21 07:47
1、鱼油代码想实现:表单提交时,下拉框“籍贯”如果未选择,提示绿色字体:请选择正确地点;反之显示绿色 ...

谢谢,真的很详细,懂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 14:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表