8

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

这与 type=text 控件和其他类似控件不同,它们的值确实可以是空字符串。

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

有什么解决方法吗?

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

4

1 回答 1

0

对于范围,您可以将范围的值设置为超出范围的数字(当然,如果您希望用户不要弄乱它):

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"
 });

我仍然不确定您将如何为颜色输入执行此操作,因为它没有“越界”。

于 2015-07-13T05:41:14.940 回答