【发布时间】:2014-04-01 05:54:15
【问题描述】:
我在子弹出窗口上使用 javascript 在父页面上设置文本框的值,但这不会触发父文本框的 textchanged 事件。我相信它需要回发才能触发 textchanged 事件。所以我就这么做了。。
儿童弹窗
<script type="text/javascript">
function updateParent(val, controlname) {
window.opener.document.getElementById(controlname).value = val;
__doPostBack(document.getElementById(controlname), '');//Added this line
}
</script>
但它仍然无法正常工作。即使这样做,我也担心它会再次重新打开弹出窗口,因为它会导致回发。有任何想法吗?尽量保持简单。
【问题讨论】:
-
你想什么时候触发 textchanged 事件?是在子窗口关闭后还是在子窗口中输入并确认值后?
-
@SystemOnline 我在 ChildPopUp 上有一个带有 linkButtons 的 GridView,只要用户单击其中的任何一个,就会关闭子窗口并设置父级上的文本框值。所以是的,即使子窗口关闭,我也想触发这个文本框。
-
我不太确定,但您可以执行以下操作 - 在父页面的隐藏字段中设置值,而不是直接在文本框中。当子窗口关闭并且焦点回到父窗口时,检查隐藏字段的值并将其设置为文本框并清空隐藏字段值。这将触发文本框的 textchanged 事件。
标签: c# javascript jquery asp.net