2014-09-03 58 views
0

我有一个asp页面调用另一个弹出页面按钮单击事件。并且通过下面的代码从弹出页面返回很少的值。弹出窗体只更改文本框值一次

 function ShowSelfpopup() {var customizeParamGL = 'status:no;help:no;dialogWidth:600px;dialogHeight:550px;scrolling=no'; 

     var FunctionID = document.getElementById("ctl00_contPlcHdrMasterHolder_LstxtHidFUNCTION_ID").value; 
     window.showModalDialog('corBrmBlockIssuAndMaintFindUI.aspx?Function_Id=' + FunctionID + '', window, customizeParamGL); 
     debugger; 
     if (XYZ_PID != '') { 
      debugger; 
      document.getElementById("ctl00_contPlcHdrMasterHolder_LsddlProductID99").value = XYZ_PID; 
      document.getElementById("ctl00_contPlcHdrMasterHolder_LstxtStartNo").value = XYZ_SN; 
      document.getElementById("ctl00_contPlcHdrMasterHolder_LstxtEndNo").value = XYZ_EN; 
      document.getElementById("ctl00_contPlcHdrMasterHolder_lstxthide").value = XYZ_BP; 

      aspnetForm.submit(); 
      return true; 

     } 
     else { 
      return false; 
     } 

    } 

现在我有一个文本更改事件方法LstxtEndNo。只有在第一次从弹出窗体获取数据时才会触发。下一次我打电话弹出窗体并获取数据,因为我通过调试确认。但它既不改变文本框中的值也不改变事件。

+1

你检查的脚本错误试试这个?顺便说一句,你应该使用'.ClientId'。父母控制ID可能会改变 – Ted 2014-09-03 14:03:08

+1

第一次之后'XYZ_PID'是不是空白的? 'if(XYZ_PID!=''){' – 2014-09-03 14:04:12

+0

我已经调试了脚本。没有错误,每次都会返回正确的值。 我想一些如何document.getElementById第一次后不工作。不知道为什么。相同的代码在其他一些页面中工作正常。 – user3932505 2014-09-03 14:10:01

回答

0

对于JavaScript不要使用Textchange事件,而不是平变化

<head runat="server"> 
<title> 

</title> 
    <script> 
     function AlertTest() 
     { 
      alert('hELLO'); 
     } 
    </script> 
</head> 
<body> 
<form id="form1" runat="server"> 
    <ajax:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">   </ajax:ToolkitScriptManager> 
    <div> 

      <asp:TextBox ID="Button1" runat="server" Text="Button" onchange="AlertTest()" /> 
    </div> 
</form> 
</body> 

你的榜样