简体   繁体   中英

How to pass value from parent asp.net dropdownlist to textbox in popup using javascript

Hello i am failing to pass the value from dropdownlist in the parent aspx form to textbox in the child aspx form

Parent javascript : The First script is to open the popup window

    <script type="text/javascript">
     var popup;
       function NewCustOpn() {
      popup = window.open("NewCustomer.aspx","Popup",toolbar=no,scrollbars=no,location=no,statusbar=no,menubar=no,resizable=0,width=520,height=350,left = 250,top = 50");

 }
   </script>

This is the second script on the parent page to get the value of the dropdownlist

    <script type = "text/javascript">
    function parentFunc()
    {
        return document.getElementById ("<%=DropDownList1.ClientID%>").value;
    }

  </script>

The child page javascript:

      <script type = "text/javascript">
    window.onload = function ()
    {

        if(window.opener != null && !window.opener.closed)  
        {
           var val = window.opener.parentFunc();
      var textbox = document.getElementById("<%=TextBox1.ClientID%>");
           textbox.Value = val; 
        }
    }
    </script>

When the popup opens TextBox1 is empty.

Your problem is simple. Just replace the below line from your child page's js function

textbox.Value = val;

to

textbox.value = val; // lowercase "v"

or justdo a direct assignment like this

document.getElementById("<%=TextBox1.ClientID%>").value = val;

Or another possible solution would be to directly pass the required value from the parent page as a querystring value and you don't need the js function in the popup page. The querystring value you can access it in child pages's page load event and assign it directly to the textbox.

Your Parent js

   function NewCustOpn() {
        var ddlvalue = document.getElementById("<%=DropDownList1.ClientID%>").value;
        var popup = window.open("Popup.aspx?dropdownval=" + ddlvalue, "Popup", "toolbar=no,scrollbars=no,location=no,statusbar=no,menubar=no,resizable=0,width=520,height=350,left = 250,top = 50");
    }

And from you child page's code behind

 protected void Page_Load(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(Request.QueryString["dropdownval"])) {
         TextBox1.Text = Request.QueryString["dropdownval"];
     }
 }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM