問題文:
私は、異なる親の下に存在する 2 つのフォーム オブジェクトがある DOM 構造を持っています。フォーム オブジェクトは同じ ID を共有します。各フォーム オブジェクトには、異なる値を持つ 2 つの要素があります。
ベースページ:
ParentA (id=ParentA) --> FormA (id=FormA) --> RadioOne (id=RadioOne) 値 = false、RadioTwo は存在しません。
現れる:
ParentB (id=ParentB) --> FormA (id=FormA) --> RadioTwo (id=RadioTwo) 値 = true、RadioOne は存在しません。
構造の理由は、ParentB が、ParentA を含むベース ページ上で異なる値を持つ同じフォームを開くポップアップであるためです。ポップアップは JqueryColorBox であり、ポップアップを閉じる直前に、ベース ページ (たまたま同じ ID を持つ) の要素の値を取得したいと考えています。
ポップアップが表示された後、現在私のjavascriptファイルで、次のことを試みています:
var radioOne = $("#RadioOne"); // これにより、値が false の radioOne オブジェクトが生成されます var radioTwo = $("#RadioTwo"); // これにより、値が true の radioTwo オブジェクトが生成されます
ベースページの要素の値を知りたいので、次のことを試してみると、これが返されると予想されます。
var $parentForm = $("#FormA"); //ここでどの FormA インスタンスが返されるかわからない
var radioOne = $parentForm.find("#RadioOne); // これにより、radioOne は false になります。 var radioTwo = $parentForm.find("#RadioTwo); // これにより、radioTwo が未定義になります。
問題:
基本的に、ポップアップに存在するものではなく、ベースページの要素の値を知ることに興味があります。フォーム参照を使用せずに jquery セレクターを使用すると、ベース ページから RadioOne 値が与えられ、ポップアップから RadioTwo 値が提供されます。
フォーム参照を使用すると、ベース ページから値を取得できますが、フォーム参照が正しく返されるかどうか確信が持てないため、これが正しいアプローチであるかどうかはわかりません。Base Page FormA と popup FormA は同じ ID を共有します。
フォーム参照を使用せずにベース ページから要素の値を取得するより良い方法はありますか?