2017-12-15 14 views
-1

ほとんどのページを検索しましたが、適切な解決策が見つかりませんでした。 私はwindow.openでウィンドウを開き、値のテーブルを形成するクエリを実行しました。行を選択すると、その値は親ウィンドウに移入されます。 親ウィンドウでは、値が入力されたときにアクションを実行する必要があります。window.openerでonchange/alternativeイベントを発生させる

window.opener.document.formname.fieldname.value = tr.children("input.tdid").val();//in child window 

//in parent window //jquery is included and formid="formname" 
$("#formname input[name=fieldname]").on("change",function(){ 
//do some stuff 
}); 

私はchangeイベントが発生するのは入力時に何らかのアクションを実行したときだけであることを知っています。ここでは値セットでもトリガーを使用できません。どんな助けもありがとうございます。

答えて

-1

私は小さなハックで私の問題を解決しました。現在はうまくいきますが、将来的にエラーが発生するかどうかはわかりません。

window.opener.document.formname.fieldname.value =//something 
window.opener.document.formname.fieldname.focus(); 
window.close(); 

親ウィンドウでフォーカスイベントを捕捉しています。

$("formname input[name=fieldname]").on("focus",function(){}); 
1

オープナー(親ウィンドウ)のフィールドをjQuery/Javascriptを使用して自分自身で更新しているのを見て、フィールド変更直後にwindow.opener.action() [または名前を付けることができます。]機能を呼び出すことができます。したがって、イベントトリガーonchangeの必要性を排除します。

+1

私の子ウィンドウは親ウィンドウのすべてのアクションを実行するためのフルアクセス権がありません。そのため、自分自身の機能を正しく実行することはできません。しかし、あなたの答えは私の解決策を見つけるのを助けました...返事と答えをありがとう。 –

関連する問題