鱼C论坛

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

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

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

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

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

x
HTML代码(部分):
  1. <tr>
  2.                                 <td id="td1">籍贯:</td>
  3.                                 <td>
  4.                                         <select name="address" id="address" onchange="checkAddress()">
  5.                                                 <option value="0">---请选择---</option>
  6.                                                 <option value="1">北京</option>
  7.                                                 <option value="2">上海</option>
  8.                                                 <option value="3">广州</option>
  9.                                                 <option value="4">深圳</option>
  10.                                                 <span id="address_span"></span>
  11.                                         </select>
  12.                                 </td>
  13.                         </tr>
复制代码

JS代码(部分):
  1. function checkAddress(){
  2.         var ad=document.getElementById("address").value;
  3.         var span=document.getElementById("address_span");
  4.        
  5.         if(ad!=0){
  6.                 span.innerHTML="*地点选择成功!";
  7.                 span.style.color="green";
  8.                 return true;
  9.         }else{
  10.                 span.innerHTML="*请选择正确的地点!";
  11.                 span.style.color="red";
  12.                 return false;
  13.         }
  14. }
复制代码

最佳答案
2018-10-21 07:47:48
1、鱼油代码想实现:表单提交时,下拉框“籍贯”如果未选择,提示绿色字体:请选择正确地点;反之显示绿色字体的地方名称

2、报错:span元素为空;从鱼油给出的代码span元素应该就是用来显示提示字体的。

3、JS部分获取网页中id为address_span的所有span元素:
  1. var span=document.getElementById("address_span");
复制代码


然后通过是否选取来修改span元素的值。

4、问题:
  1.      <select name="address" id="address" onchange="checkAddress()">
  2.                                                 <option value="0">---请选择---</option>
  3.                                                 <option value="1">北京</option>
  4.                                                 <option value="2">上海</option>
  5.                                                 <option value="3">广州</option>
  6.                                                 <option value="4">深圳</option>
  7.                                                 <span id="address_span"></span>
  8.                                         </select>
复制代码


因为判断ad的值(select元素中option的value值),有0,1,2,3,4,五种值。

由于span也放在select中,且没有指定任何value值,所以此时有一个为空NULL的存在。

5、解决方案:将span元素放在select外面,这样ad值中不会出现空
  1. <select name="address" id="address" onchange="checkAddress()">
  2.                 <option value="0">---请选择---</option>
  3.                 <option value="1">北京</option>
  4.                 <option value="2">上海</option>
  5.                 <option value="3">广州</option>
  6.                 <option value="4">深圳</option>

  7.             </select>
  8.             <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元素:
  1. var span=document.getElementById("address_span");
复制代码


然后通过是否选取来修改span元素的值。

4、问题:
  1.      <select name="address" id="address" onchange="checkAddress()">
  2.                                                 <option value="0">---请选择---</option>
  3.                                                 <option value="1">北京</option>
  4.                                                 <option value="2">上海</option>
  5.                                                 <option value="3">广州</option>
  6.                                                 <option value="4">深圳</option>
  7.                                                 <span id="address_span"></span>
  8.                                         </select>
复制代码


因为判断ad的值(select元素中option的value值),有0,1,2,3,4,五种值。

由于span也放在select中,且没有指定任何value值,所以此时有一个为空NULL的存在。

5、解决方案:将span元素放在select外面,这样ad值中不会出现空
  1. <select name="address" id="address" onchange="checkAddress()">
  2.                 <option value="0">---请选择---</option>
  3.                 <option value="1">北京</option>
  4.                 <option value="2">上海</option>
  5.                 <option value="3">广州</option>
  6.                 <option value="4">深圳</option>

  7.             </select>
  8.             <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-4-24 16:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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