0

友人 フィールドにテキスト ボックスを含む iframe ページ (iframe.aspx) を含む親ページ (default.aspx) があります。親ページには「保存」ボタンが含まれています。親ページの送信中にiframeページの値を取得したいと思います。親ページの送信で iframe ページのフィールドにアクセスするにはどうすればよいですか?

iframe.aspxページ、、、、iframeページには2つのテキストボックスがあります、、

<asp:textbox id="txtfromdate" runat="server"></asp:textbox> 
<asp:textbox id="txttodate" runat="server"></asp:textbox>

default.aspx ページ

<iframe id="iframebody" runat="server" src="iframe.aspx" style="width:900px; height:600px"></iframe>

<asp:button id="submit" text="save" runat="server" />

frdzボタンをクリックしたときに、親ページ(default.aspx)のiframeページID(txtfromdate、txtTodate)にアクセスする方法??

4

2 に答える 2

2

ボタンのクリックでこの JavaScript を試してください。

HTML

<input type="hidden" id="txtHidData" runat="server" />

Javascript

var iframe = document.getElementById('iframebody');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
var usernameTextBox = innerDoc.getElementById('txtfromdate');
document.getElementById ( "txtHidData" ).value = usernameTextBox.value;

C#

string valueInCodeBehind = txtHidData.Value;
于 2012-07-18T06:30:34.293 に答える
0

サーバー側のコードで iframe のコンテンツにアクセスすることはできません。

iframe のコンテンツにアクセスするには、javascript を使用する必要があります。

jquery では、次のようにアクセスできます。

var iFrameContent = $('#iframebody').content();
var fromDate = iFrameContent.find('#txtfromdate').val();
var toDate= iFrameContent.find('#txttodate').val();

ページの非表示フィールドに保存してから、サーバー側のコードでアクセスします

aspx ページに 2 つの隠しフィールドを配置します。お気に入り

<asp:HiddenField id="hdffromdate" runat="server"></asp:textbox> 
<asp:HiddenField id="hdftodate" runat="server"></asp:textbox>

次のような非表示フィールドに値を設定します

$('[id$=hdffromdate]').val(fromDate );
$('[id$=hdftodate]').val(toDate);

送信ボタンのクリックイベントハンドラーで

protected void submit_Click(object sender, EventArgs e)
{
      var fromDate = Convert.ToDateTime(hdffromdate.Value);
      var toDate = Convert.ToDateTime(hdftodate.Value);
      //...
}
于 2012-07-18T06:33:03.940 に答える