如何在MVC ASP.net的弹出窗口中触发文本框值更改事件
how to fire an event on textbox value change from pop window in MVC ASP.net
我现在从弹出窗口返回一个值,我希望文本框值从弹出窗口更改,它应该将背景颜色更改为红色,否则不会反映任何更改。我做的是
<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是打开弹出窗口的按钮。如果文本框的值发生更改,我想更改文本框的颜色;否则它的背景应该是白色的。
从按钮中删除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();
}
});
相关文章:
- 兰吉 |如何在 span 标签上使用单击事件删除突出显示的文本
- 是否<asp:文本框>有一个onFocusLost事件
- 手柄'img'单击事件并插入'alt'使用jQuery将属性转换为文本框
- IE8更改文本区域上的事件侦听器不工作
- 在文本区域禁用javascript定义的keydown事件并恢复默认行为
- 替代输入:基于按钮点击事件的文本更改处理程序
- 使用Javascript代码在文本框上激发退格事件
- 我能从“;输入“;事件是否有更好的方法来跟踪文本更改
- 我可以使用jqgrid的oncellselect事件根据单元格内容将文本颜色更改为蓝色吗
- 我需要使用kineticjs点击事件以任何所需的角度旋转画布中的文本
- EventSource 的响应具有非“文本/事件流”的 MIME 类型(“文本/纯文本”)
- 如何将值从文本框传递到自身事件
- angularjs 使用什么事件从文本输入中获取值
- 如何在按键事件发生后获取文本光标的位置
- 如何使asp文本框的按键事件
- 在onkeyup事件中未检测到文本区域更改
- 将指针事件限制为SVG文本填充
- 在单击事件上从所有类获取文本
- 关于使用Jquery创建的文本事件
- 使用DOM更新时不会触发输入文本事件