問題タブ [selectinput]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - 必要な選択入力を検証するためのフォームを取得できません
私の問題を再現するために、この非常に単純なコードを作成しました。入力テキストに値がない場合、フォームは送信されません (正解)。ただし、select 入力が選択されていない (正しくない) 場合は送信されます。ここで非常に基本的なものが欠けている可能性がありますが、何がわかりません。
編集:これが Firefox で機能することに気付きました。クロムではありません。
編集 2: Chrome は、コードにあるものではなく、次のようにページをレンダリングしています。
理由はありますか?それが重要な場合、それは .razor ページです。しかし、他の調査によると、value="" がないことが Chrome で機能しない理由です。
編集 3:次の回避策を使用して HTML を Chrome で正しくレンダリングするようにしましたが、Chrome での検証はまだ機能しません。
ページ コード ソース:
r - r Shiny selectinput: selectInput ウィジェットが、リストの選択された要素をウィンドウの一番下に自動的にプッシュしないようにします。
私の r Shiny アプリには、単純な selectinput ウィジェットがあります。
ユーザーは、名前の長いベクトル (names_active_reactive$names、100 を超える長さ) から 1 つの名前を選択しています。そのベクトルはリアクティブな値であることに注意してください - これが問題のようです。
画面上に十分なスペースがあるので、ユーザーにかなりの数の名前を表示できるようにします。これが、サイズ = 25 に設定する理由です。
そのため、ユーザーがたとえばユーザー 50 を選択したい場合、ユーザー 50 が見つかるまでウィンドウの右側にあるスクロール バーを使用して、そのユーザーを選択する必要があります。その結果、ユーザー 50 が選択され、selectinput ウィンドウに 25 個の名前が表示され、現在選択されているユーザー (#50) がウィンドウの一番下に表示されます。
ユーザーが 50 以降のユーザーの名前 (たとえば、ユーザー 51 ~ 65) を見たい場合は、さらに下にスクロールする必要があります。ユーザーがウィンドウの中央にある別の名前 (ユーザー 60) をクリックしたとします。この場合、その名前が選択されますが、すぐにウィジェット ウィンドウの一番下に移動します。また、61+ の名前は表示されなくなりました。
リスト内の選択された要素が常にウィンドウの一番下に表示されるようにするウィジェットの動作を完全に取り除くことができるのではないかと思います。
選択肢が固定リストの場合、この問題は存在しないことに注意してください。しかし、選択肢が反応的な価値観である場合にそれが現れます。
おまけの質問: ユーザーがキーボードの「下矢印」を使用して、ウィンドウ内の名前のリストを下にスクロールできるようにすることは、どのような方法で可能ですか?
どうもありがとうございました!