ホームページ > ウェブフロントエンド > htmlチュートリアル > iframe ページは親ページの非表示の入力コンポーネントの値を変更しますが、変更イベントをトリガーできません。 _html/css_WEB-ITnose

iframe ページは親ページの非表示の入力コンポーネントの値を変更しますが、変更イベントをトリガーできません。 _html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 11:55:09
オリジナル
1055 人が閲覧しました

iframe ページに基づいてさまざまなリチャージ カード タイプを返す入力コンポーネントを実装します。

クリックして選択すると、リチャージ カード データ行をクリックして 1. リチャージ カード タイプに戻ります。 2. カード ID をリチャージします (UUID を使用)。 3. カード番号 (文字列) をチャージします。

発生した問題は、iframe がリチャージ カードを選択するときに、親ページの入力コンポーネントの値の変更イベントを取得できないことです。

親ページ js

$("#id_card_type").change(function(){//事件无法捕获});
ログイン後にコピー
親ページ フォーム

<form id="frm" method="post" action="/bill/recharge/new/">  <input id="id_card_type" name="card_type" type="hidden" />  <input id="id_card_id" name="card_id" type="hidden" />  <label>卡号</label><input id="id_cardno" name="cardno" readonly="True" type="text" />  <span id="btnSelectCard" >选择</span></form>
ログイン後にコピー

iframe ページ js

$(this).children().click(function(){<span style="white-space:pre">	</span>var cid=$(this).parent('tr').attr('item_id');	var cn=$(this).parent('tr').children('td').eq(0).html();	var ct=$(this).parent('tr').attr('item_type');	$('#id_card_id', window.parent.document).val(cid);	$('#id_cardno', window.parent.document).val(cn);	$('#id_card_type', window.parent.document).val(ct);});
ログイン後にコピー


解決策は次のとおりです:


iframe ページ js

$(this).children().click(function(){  var cid=$(this).parent('tr').attr('item_id');  var cn=$(this).parent('tr').children('td').eq(0).html();  var ct=$(this).parent('tr').attr('item_type');  $('#id_card_id', window.parent.document).val(cid);  $('#id_cardno', window.parent.document).val(cn);  $('#id_card_type', window.parent.document).val(ct);  //$('#id_card_type', window.parent.document).trigger('change'); //无效  window.parent.$('#id_card_type').trigger('change'); //有效});
ログイン後にコピー


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート