Returning a value from a popup window
-
Hi I have a calendar control appearing in a pop up window and what I would like is for the user to select a data from the calendar and it is returned to the page from which the calendar popup was opened. What would be the best way at doing this as I have found some techniques but neither have the knowledge or they don't seem to work. Any help is appreciated :)
"When will I learn? The answers to life's problems aren't at the bottom of a bottle. They're on TV" - Homer Simpson
-
Hi I have a calendar control appearing in a pop up window and what I would like is for the user to select a data from the calendar and it is returned to the page from which the calendar popup was opened. What would be the best way at doing this as I have found some techniques but neither have the knowledge or they don't seem to work. Any help is appreciated :)
"When will I learn? The answers to life's problems aren't at the bottom of a bottle. They're on TV" - Homer Simpson
you have to do it using java script.
window.opener.document.getElementById(window.opener.ParentControlID).value = CalendarVal.value;
take Calendar value in a client side variable CalendarVal and ParentControlID is the ID of your parent window that where you want to display. Hope this will resolve your problem !!!cheers, Abhijit
-
you have to do it using java script.
window.opener.document.getElementById(window.opener.ParentControlID).value = CalendarVal.value;
take Calendar value in a client side variable CalendarVal and ParentControlID is the ID of your parent window that where you want to display. Hope this will resolve your problem !!!cheers, Abhijit
Hmm I have tried to implement this way but am not too sure where to start as I'm not a big javascript person. Do I need to add it to a function and then call the function from the calendar change event.
"When will I learn? The answers to life's problems aren't at the bottom of a bottle. They're on TV" - Homer Simpson
-
you have to do it using java script.
window.opener.document.getElementById(window.opener.ParentControlID).value = CalendarVal.value;
take Calendar value in a client side variable CalendarVal and ParentControlID is the ID of your parent window that where you want to display. Hope this will resolve your problem !!!cheers, Abhijit
-
you have to do it using java script.
window.opener.document.getElementById(window.opener.ParentControlID).value = CalendarVal.value;
take Calendar value in a client side variable CalendarVal and ParentControlID is the ID of your parent window that where you want to display. Hope this will resolve your problem !!!cheers, Abhijit
Ok this is annoying I have it working in vb.net but not working in c# i have gone through and made sure that it is putting the name of the text box of where the value is to go in the correct palce and it all seems to be fine, but when the user selects a date it closes the calendar but doesn't put the value in the text box. protected void Change_Date(object sender, System.EventArgs e) { string strScript = "window.opener.document.forms(0)." + control.Value + ".Text = '"; strScript += calDate.SelectedDate.ToString("MM/dd/yyyy"); strScript += "';self.close()"; strScript += "</" + "script>"; RegisterClientScriptBlock("anything", strScript); } "When will I learn? The answers to life's problems aren't at the bottom of a bottle. They're on TV" - Homer Simpson</x-turndown>
-
Ok this is annoying I have it working in vb.net but not working in c# i have gone through and made sure that it is putting the name of the text box of where the value is to go in the correct palce and it all seems to be fine, but when the user selects a date it closes the calendar but doesn't put the value in the text box. protected void Change_Date(object sender, System.EventArgs e) { string strScript = "window.opener.document.forms(0)." + control.Value + ".Text = '"; strScript += calDate.SelectedDate.ToString("MM/dd/yyyy"); strScript += "';self.close()"; strScript += "</" + "script>"; RegisterClientScriptBlock("anything", strScript); } "When will I learn? The answers to life's problems aren't at the bottom of a bottle. They're on TV" - Homer Simpson</x-turndown>
are you talking about vb.net or C# ? One Tips : while adding string use StringBuilder. this is good practice and good for membory also.
cheers, Abhijit
-
are you talking about vb.net or C# ? One Tips : while adding string use StringBuilder. this is good practice and good for membory also.
cheers, Abhijit
I originally got it to work with vb.net following your original advise and a tutorial/example I found but am now wanting it in c# and it is set up the exact same way but doesn't want to put the value in the text box. Thanks for the tip and sorry for the confusion. :)
"When will I learn? The answers to life's problems aren't at the bottom of a bottle. They're on TV" - Homer Simpson
-
I originally got it to work with vb.net following your original advise and a tutorial/example I found but am now wanting it in c# and it is set up the exact same way but doesn't want to put the value in the text box. Thanks for the tip and sorry for the confusion. :)
"When will I learn? The answers to life's problems aren't at the bottom of a bottle. They're on TV" - Homer Simpson
This is the code for main Page //This is Textbox where i have display the date from popuo myID= "<%=txtCal.ClientID%>"; function Button1_onclick() { //open popup page window.open("default2.aspx","test",'left=100,top=100,width=200,height=200'); } Code in Popup window
**Server Side (code behiend)**
protected void Calendar1_SelectionChanged(object sender, EventArgs e) { string dt = Calendar1.SelectedDate.ToShortDateString(); Page.ClientScript.RegisterStartupScript(this.GetType(), this.ClientID, "updateParent('" + dt + "');", true); }
**Client Side**
function updateParent() { <code><b> //Tip:Accept Argument From Server Side</b></code> var argv = updateParent.arguments; window.opener.document.getElementById(window.opener.myID).value = argv[0]; self.close(); } This should run perfectly. dont forget to vote ;)cheers, Abhijit
-
I originally got it to work with vb.net following your original advise and a tutorial/example I found but am now wanting it in c# and it is set up the exact same way but doesn't want to put the value in the text box. Thanks for the tip and sorry for the confusion. :)
"When will I learn? The answers to life's problems aren't at the bottom of a bottle. They're on TV" - Homer Simpson
This is the code for main Page
//This is Textbox where i have display the date from popuo myID= "<%=txtCal.ClientID%>"; function Button1_onclick() { //open popup page window.open("default2.aspx","test",'left=100,top=100,width=200,height=200'); }
Code in Popup window
**Server Side (code behiend)**
protected void Calendar1_SelectionChanged(object sender, EventArgs e) { string dt = Calendar1.SelectedDate.ToShortDateString(); Page.ClientScript.RegisterStartupScript(this.GetType(), this.ClientID, "updateParent('" + dt + "');", true); }
**Client Side**
function updateParent() { //Tip:Accept Argument From Server Side var argv = updateParent.arguments; window.opener.document.getElementById(window.opener.myID).value = argv[0]; self.close(); }
This should run perfectly. dont forget to vote ;)
cheers, Abhijit
-
This is the code for main Page //This is Textbox where i have display the date from popuo myID= "<%=txtCal.ClientID%>"; function Button1_onclick() { //open popup page window.open("default2.aspx","test",'left=100,top=100,width=200,height=200'); } Code in Popup window
**Server Side (code behiend)**
protected void Calendar1_SelectionChanged(object sender, EventArgs e) { string dt = Calendar1.SelectedDate.ToShortDateString(); Page.ClientScript.RegisterStartupScript(this.GetType(), this.ClientID, "updateParent('" + dt + "');", true); }
**Client Side**
function updateParent() { <code><b> //Tip:Accept Argument From Server Side</b></code> var argv = updateParent.arguments; window.opener.document.getElementById(window.opener.myID).value = argv[0]; self.close(); } This should run perfectly. dont forget to vote ;)cheers, Abhijit
Thank you for sticking with me on this one. After a long day at work yesterday taring my hair out. I have gone through your sloution and got it to work. Thank you. :)
"When will I learn? The answers to life's problems aren't at the bottom of a bottle. They're on TV" - Homer Simpson