我试着更好地解释一下。我在页面中有一个用户控件,其中有UC2(模式弹出)。我尝试实现这一点:当我关闭UC2(模态)时,我尝试更新UC1上的一些字段。这适用于一个(我有UC2(模态)和按钮Save OnClientClick =“SaveInfoCI()”),以及在页面顶部的UC1
function SaveInfoCI(){ 的document.getElementById( “<%= frmData.FindControl(” txtImplementingCI “)的ClientID%GT;”)。值 = document.getElementById(“<%= UC2.GetClientID%>”)。value; }
但是因为我在另一个地方重用了这个控件,我想更新另一个字段。基本上现在我有3个JS功能更新3个字段。当我点击UC2(模态)中的保存时,我尝试执行此3 javascript f中的一个,以更新右侧字段。我不希望有3个相同的UC,只有OnClientClick =“SaveInfoCI()。”
答案 0 :(得分:0)
两个问题:首先,你的语法是关闭的,当你内部的代码不能像这样使用<%=
时。
第二个问题,到执行此脚本时(在页面顶部),元素仍然不存在。您必须更改客户端页面加载事件中的值。
所以这应该有效,尽管服务器端做得更好:
sb.Append("window.onload = function() { document.getElementById('" + frmData.FindControl("txtTextBox").ClientID + "').value = document.getElementById('" + MyUserControl.GetJs + "').value; };</")
另外,你真的不需要StringBuilder ..请改用普通的字符串。