質問

ユーザーが値を変更/変更できないように、チェックボックスの配列といくつかのフィールドを無効にする必要があるフォームがあります。ただし、フォームを送信すると、無効な要素のPOST値がありません/null。この問題なしにやろうとしていることをどのように管理できますか?

今、私はこのようなコンテナdivを無効にすることでフィールドを無効にします:

#unselectable {
    -moz-user-select: -moz-none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    -webkit-user-select: none;
    cursor:not-allowed; 

}
役に立ちましたか?

解決

まあ、私が考えることができる3つの解決策があります:

  • それらを作ります readonly を追加して readonly 要素へのプロパティ。
  • CSS/JavaScriptでそれらを無効にします。それは無効になっているように色付けし、JavaScriptで編集を許可しないでください、
  • 無効にしたままにして、送信時に無効を削除します。

好きなのを選びな :)

他のヒント

使用できます readonly それ以外の disabled Wichはユーザーにとってはほとんど同じです(編集することはできません)が、の値は readonly- エレメントが提出されます disabled ものはしません。

あることに注意してください 他のいくつかの違い Readonlyと障害のあるWichの間で、他の問題につながる可能性があります。

無効属性

  • 無効化フォーム要素の値は、プロセッサメソッドに渡されません。 W3Cはこれを成功した要素と呼びます。(これはチェックされていないフォームチェックボックスと同様に機能します。)
  • 一部のブラウザは、無効なフォーム要素のデフォルトスタイリングをオーバーライドまたは提供する場合があります。 (グレーアウトまたはエンボステキスト)インターネットエクスプローラー5.5は、これについて特に厄介です。
  • 無効化フォーム要素はフォーカスを受け取りません。
  • 無効なフォーム要素は、タブのナビゲーションでスキップされます。

読み取り専用属性

  • すべてのフォーム要素が読み取り属性を持っているわけではありません。最も注目に値する、、、、要素には読み取られた属性がありません(どちらも属性を無効にしていますが)
  • ブラウザは、フォーム要素が読み取られるというデフォルトのオーバーライドされた視覚フィードバックを提供しません。 (これは問題になる可能性があります...以下を参照してください。)
  • readonly属性セットを備えたフォーム要素は、フォームプロセッサに渡されます。
  • 読み取り専用フォーム要素はフォーカスを受信できます
  • 読み取り専用フォーム要素は、タブベッドナビゲーションに含まれています。

同じデータを送信することにはあまり意味がありません。

に残してください サーバ側 そして、送信時にそれを使用します。

その上、それを仮定します

ユーザーは値を変更/変更できません。

かなり愚かです。

無効にする代わりに「読み取り専用」を使用できます。

また、JavaScriptを使用してフォームを送信したり、さまざまなフィールドを使用したり(有効:P)前に提出することもできますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top