微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

表单 – HTML5输入类型的范围和颜色不能为空.如果它们镜像的数据库列为空,该怎么办?

相对较新的 HTML表单控件包括’type = range’和’type = color’控件.该规范指出,当提交包含此类控件的表单时,将始终为这些控件提交值.他们永远不会是空的.

这与type = text控件和其他类似控件不同,其值实际上可以是空字符串.

似乎不可能使用范围和颜色控件来反映数据库中可为空的列的状态.

这有什么解决方法吗?

编辑:此链接指定行为:HTML5 Specification

解决方法

对于范围,您可以将范围的值设置为超出范围的数字(当然,如果您希望用户不要弄乱它):
var range = document.getElementById('rangeInput');
 //let's say your range is 0-10

 rangeInput.style.display = 'none';

 range.min = -1;

 range.value = -1;
 //-1 would be your "null" value

 //Now,if you wanted the user to be able to edit the null range...

 range.style.display = '';

 range.addEventListener('change',function(){
     if(this.value < 0) this.value = 0;
     //this should keep people from setting it to "null"
 });

我仍然不确定你将如何为颜色输入做这件事,因为它没有“超出范围”.

原文地址:https://www.jb51.cc/html/225629.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐