免責事項、私は JQuery を知らないので、これを行う簡単な方法があるかもしれません。また、コードをテストしていません...
正確な ID がわかっている場合は、親ページから次のようなことができます (javascript ブロック内):
var frame = document.getElementById('myIFrame');
var ctrl = frame.document.getElementById('myControl');
ctrl.value = "New Value";
ページ内のコントロールの正確な ID がわからない場合は、CityX.aspx
それらの ID を検出する方法が必要になるかiframe
、正しいコントロールを探すためにすべてのコントロールを調べる必要があります。(私がこれを言うのは、iframe
ページ内のコントロールが何らかの ASP.NET 構造に保持されている場合、それらはtxtMyCtrl
(たとえば) 呼び出されず、おそらくct00_txtMyCtrl
.
正確なコントロール名がわからない場合 (前述の ASP.NET 構造のため)、次のようにすることができます。
var frame = document.getElementById('myIFrame');
var ctrls = frame.document.getElementByTagName("INPUT");
for(var i=0;i<ctrls.length;i++){
if(ctrls[i].getAttribute("type")=="hidden" && ctrls[i].id.indexOf("_myControl") != -1){
ctrls[i].value = "New Value";
break;
}
}
または、ページを更新できる場合は、CityX.aspx
ページに次のものを含めることができCityX.aspx
ます。
function getCtrls(){
return [document.getElementById("<%=hiddenCtrl.ClientID%>"),
document.getElementById("<%=anotherHiddenCtrl.ClientID%>")];
}
...そして、あなたの親ページでは、次のようになります:
var frame = document.getElementById('myIFrame');
var ctrls = frame.document.getCtrls();
for(var i=0;i<ctrls.length;i++){
ctrls[i].value = "New Value";
}
それらは一般的なテーマに関する単なるアイデアです