8

比較的新しい HTML フォーム コントロールには、'type=range' および 'type=color' コントロールがあります。仕様では、そのようなコントロールを含むフォームが送信されると、それらのコントロールに対して常に値が送信されると述べられています。それらを空にすることはできません。

これは、値が実際に空の文字列になる可能性がある type=text コントロールや他の同様のコントロールとは異なります。

データベース内の null 許容列の状態を反映するために、範囲と色のコントロールを使用することは不可能のようです。

これに対する回避策はありますか?

編集: 動作は、このリンクで指定されています: HTML5 仕様

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 に答える