как вызвать событие при изменении значения текстового поля из всплывающего окна в MVC ASP.net - PullRequest
0 голосов
/ 22 июня 2011

Я возвращаю одно значение из всплывающего окна, теперь я хочу, чтобы значение текстового поля изменилось из всплывающего окна, оно должно изменить цвет фона на красный, иначе никакие изменения не будут отражены.То, что я делаю, это

<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='';}" />

, где txtbutton - это текстовое поле, а button1 - кнопка, которая открывает всплывающее окно.Я хочу изменить цвет текстового поля, если его значение изменилось;в противном случае его фон должен быть белым.

1 Ответ

1 голос
/ 22 июня 2011

удалите свой код 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='';
   }
} );

еще один способ, которым вы можете попробовать, это написать функцию в родительском окне, а затем вызвать эту функцию из дочернего окна, примерно так:

<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(); 
            }
     });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...