0

このタイプの入力を使用してフォームを送信すると、座標 (x,y) が結果に追加されます。

2つの隠し入力を動的に作成すると機能しますが、何か違うものが欲しかったのです。
Event または MouseEvent は素晴らしいでしょうが、私はそれを機能させることができませんでした

これが私の現在のコードです:(正常に動作します)

var input = document.createElement("input");
input.type = "hidden";
input.name = "x";
input.value = posx;
my_form.appendChild(input);

input = input.cloneNode(false);
input.name = "y";
input.value = posy;
my_form.appendChild(input);

状況の例をあげます

画像フォーム要素の近くに、次のようなプレーン テキストがあるとします: 下の画像の 20 より大きく 60 より小さい任意の位置をクリックしてください

普通の人はこれを読んで普通にクリックします。
しかし、手を持たないロボットとして、同じクリックイベントをシミュレートする必要があります

4

2 に答える 2

2

あなたがここで何をしようとしているのかを完全に理解することなく (あなたの質問は少しあいまいです、IMO)、私はこれを尋ねなければなりません: jQuery または別の JavaScript ライブラリ/フレームワークの使用を検討したことがありますか? 非常に単純なサイトの場合、やり過ぎになることがあることは理解しています。しかし、このようなことを自分で考え出すという頭痛の種を和らげるためには、価値があるかもしれません。

私が理解できることから、「画像」フォーム要素を使用してフォームを送信しており、画像要素のクリックをシミュレートして何かの x/y 座標を取得したいと考えています。私は間違っているかもしれません。詳細をもっと明確にしていただけますか?

あなたの問題についてもっと知ったら、jQueryでそれを行う方法をお見せできるかどうか見てみましょう.

于 2009-11-05T19:24:55.517 に答える
1

結果を何に追加しようとしているのかわかりません。フォームの値?これは自動的に行われ、コードは必要ありません (x と y、または elementname.x と elementname.y に出くわします)。

コメント後に編集:
その時点で要素を作成しないことで、ノード挿入イベントを回避できます。つまり、フォームに x と y を追加します。次に、イベントで値を設定するだけです。これもバインドできるさまざまなイベントが確かにあり、あなたの状況はわかりませんが、例を作成しましたページ自体の本文に添付された onClick イベントを使用します。代わりに、特定の onClick イベントをさまざまなクリック可能なアイテムにバインドし、それらに独自の場所を挿入したい場合がありますが、私の場合はページ上のマウスの場所を送信しました。それが役に立たない場合は、理由についてコメントしてください。もう一度変更できるかどうかを確認します.

于 2009-11-05T19:32:51.547 に答える