1

ユーザーが必要に応じて新しい行を継続的に追加できるフォームを使用しています(複数の「ハウツー」ステップを含む記事を作成するために使用され、何度もクリックして新しいステップを追加できます)。私ができるようにしたいのは、ユーザーがいつでもこれらの行のいずれかをクリックしてから、横にある単語またはボタンをクリックして、そのボタンの値を最後の既知のカーソル位置。

たとえば、現在 3 行のフォームが 1 つあるとします。ユーザーが戻ってデータを挿入したい場合は、ボックスに戻ってクリックし、挿入するデータに対応するボタンを押すことができます。

入力例 1: 「顧客の現在の IP アドレスを削除し、静的 IP に置き換えます。[ユーザーはここをクリックし、静的 IP ボタンをクリックすると、%STATIC_IP% が最後の既知のカーソル位置 (AKA HERE) に挿入されます]

入力例 2: 「お客様 [クリックして %WIFI_SSID% を挿入] をルーター設定に入力してください」

テキストを挿入できる他のいくつかのスタックオーバーフロー記事を見つけましたが、それらはすべて、定義されたテキストエリアまたは入力に挿入されることを期待しています。この場合、最後の既知のカーソル位置に挿入する必要があります。これがすべて明確であることを願っています。ご質問やご相談をお待ちしております。

スターター コード: http://jsfiddle.net/4mJwU/

4

2 に答える 2

1

最後の既知のキャレット位置に任意のコンテンツを挿入する方法をすでに知っている場合、唯一の問題は、ボタンがクリックされる前に前回どのフィールドがフォーカスされたかを知ることです。

これはさまざまな方法で実行できます。そのうちの 1 つは、最後にフォーカスされたフィールドへの参照を追跡する (たとえば、いくつかの変数で) フォーカス イベントとブラー イベント (フィールド - この場合は行にアタッチ) を利用することです。そこからは簡単なはずです。

すぐに始められる簡単なスクリプトhttp://jsfiddle.net/sjqWu/1/

他のスタックオーバーフロー アンサーから学んだことを上記の例と組み合わせれば、問題ありません。ハッピーラーニング!

于 2012-08-28T19:32:00.020 に答える
0

私はあなたのデザインを質問します。ユーザーがフィールドをクリックし、テキストをクリックしてそのフィールドに挿入する必要があるようにするには、手順が多すぎるようです。ある種のドラッグ アンド ドロップ ルーチンを利用できる可能性があります。または、最初のクリックをテキスト ボックスにする代わりに、ドロップ ダウン リストにしますか?

私はWTKに同意します。何らかのイベントを使用してレコード ID またはテキスト ボックス ID を保存し、そこから処理を進めることができます。

于 2012-08-28T19:38:03.920 に答える