2010-12-19 1 views
1

フォームに入力したフィールドを呼び出す必要があるプロジェクトで作業しているので、あとで再作成できます。フォームに名前が付いているときは、それを覚えておき、後でJavaScript(document.getElementsByName(...)[0])を使ってアクセスすることができます。しかし、名前がない場合は、後で参照する方法を失うことになります。IDまたは名前のないフォームへの参照の取得

私はjQueryを使用していますが、JavaScriptソリューションにもオープンしています。 1つのアイデアは、フォームのインデックスを覚えておくことです。ですから、document.forms [3]だったら、後で私はインデックスを使うことができます。しかし、誰かがフォームを提出すると、フォームのインデックスをどのように知ることができますか? (注:私は盲目的にページがロードされる活動をキャプチャするときに、すべてのフォームへのハンドラを提出追加しています。)

答えて

2

代わりに、送信ボタンにイベントを取り付ける、このように、直接<form>要素にアタッチ:

$("form").submit(function() { 
    //do something with this 
    //this == the form element being submitted 
}); 
あなたの現在のイベントハンドラで

または...、最も近い親<form>要素を取得するために.closest()を使用:あなたはすべてのform上のインデックスを使用しない場合は、誰かミリアンペアので(フレーク状

$(":submit").click(function() { 
    var form = $(this).closest("form"); 
}); 
+0

+1非常にエレガント – Basic

0

をyどこにでもフォームを追加するなど)、その周囲を参照として使用することができます。

$('#content').parent().next().find('form') 
関連する問題