2011-06-22 8 views
0

ポップアップウィンドウから値を1つ戻したい場合は、ポップアップウィンドウからテキストボックスの値を変更する必要があります。変更が反映されません。私がやって何メートル はMVC ASP.netのポップウィンドウからテキストボックスの値を変更してイベントを発生させる方法

txtbuttonは、テキストボックスとボタン1は、ポップアップウィンドウを開くボタンである
<input type="button" id="button1" value="button1" style="width:95%;font-family:Verdana;font-size:9px;" onclick="window.open('<%= Url.Action("PopUp", "Home" ) %>' ,'popup','height=410','width=200','target=popup','center','front');" onfocus="if(document.getElementById('HiddenVal').value!=null||document.getElementById('HiddenVal').value!=''){txtbutton.value=document.getElementById('HiddenVal').value ; document.getElementById('HiddenVal').value='';}" /> 

です。値が変更された場合、テキストボックスの色を変更したい。さもなければその背景は白でなければなりません。

+0

どのようにポップアップウィンドウから値を返すのですか? –

+0

document.getElementById( 'HiddenVal')。value、値を取得しています。 – Saloni

+0

ボタンフォーカスのテキストボックスの色を変更しようとしていますか? – Vivek

答えて

1

ボタンからonfocusコードを削除し、このコードをjsファイル内に配置します。あなたが試すことができます

$('#button1').focus(function(){ 
    if(document.getElementById('HiddenVal').value!=null&&document.getElementById('HiddenVal').value!=''){ 
     $('#txtbutton', window.parent.document).css("background-color","red"); //Assuming txtbutton is ID of your textbox 
     document.getElementById('HiddenVal').value=''; 
    } 
}); 

もう一つの方法は、あなたの親ウィンドウ内の関数を記述し、その後

ウィンドウ - 子供からthis-

<script> 
function ifDoneChild(val) { 
$('#txtbutton').css("background-color","red"); 
} 
</script> 

呼び出し、この関数のような子ウィンドウ-何かからその関数を呼び出すことです

$('#button1').focus(function(){ 
      if(document.getElementById('HiddenVal').value!=null&&document.getElementById('HiddenVal').value!=''){ 
       window.parent.ifDoneChild(); 
      } 
    }); 
+0

Vivek、そのうまくいってくれてありがとう。 – Saloni

+0

それはあなたのために働くことを聞いてグッド。あなたは答えをupvoteすることができますし、私の答えに左のチェックマークをクリックして答えを選択することができます。 – Vivek

関連する問題