106 messaggi dal 16 ottobre 2001
Ho un popup che prima di chiudersi deve passare un valore ad un campo contenuto nella pagina principale.
Ho scritto nel codice del popup:
RegisterClientScriptBlock("clientScript", "<script>window.opener.document.all['txtCampoPagChiamante'].value =document.all['txtCampoPopup'].value;</script>")

Non funziona...come posso fare?
dato un occhiata quà?:
#695


ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
106 messaggi dal 16 ottobre 2001
Ma in questo modo vado a ricaricare la pagina chiamante?Io ho già dei dati visualizzati che devono rimanere...posso mantenerli in qualche modo?

il metodo che ho tentato di usare io mi funziona se io passo per es una stringa, ma non il valore del campo del popup...magari c'è solo qualche errore nella sintassi(document.all['txtCampoPopup'].value), ma nn capisco come...
si così viene ricaricata la pagina, l'alternativa è :
pagina madre:
private void ScriptIniection()
    {
      StringBuilder mySB = new StringBuilder(Request.ApplicationPath);
      int _SbLength = mySB.Length - 1;
      if(mySB[mySB.Length -1 ].ToString() == "/") mySB.Replace("/","",_SbLength,1);
      
      StringBuilder sb = new StringBuilder("\n<script language=\"javascript\" type=\"text/javascript\">\n");
      sb.Append("function calendarPicker(strField)\n");
      sb.Append("{\n");
      sb.Append("window.open('");
      
      sb.Append(mySB.ToString()+"/userControl/Calendar.aspx");
        
      sb.Append("?field=' + strField,'calendarPopup','width=250,height=210,resizable=yes');\n");
      
      sb.Append("\n}\n<");
      sb.Append("/");
      sb.Append("script>");

      if(!this.Page.IsStartupScriptRegistered("popCalendar"))this.Page.RegisterStartupScript("popCalendar",sb.ToString());
    }
    private void MakeLink()
    {  
      string formName = null;
      //cerco il nome del form
      foreach(System.Web.UI.Control i in this.Page.Controls )
      {
        object ob = i as HtmlForm; 
        if (ob != null)
        {
          formName = ((HtmlForm)i).Name.ToString();
        }
      }
      
      StringBuilder mySB = new StringBuilder(Request.ApplicationPath);
      int _SbLength = mySB.Length - 1;
      if(mySB[mySB.Length -1 ].ToString() == "/") mySB.Replace("/","",_SbLength,1);

      StringBuilder sb = new StringBuilder("calendarPicker('");
      sb.Append(formName);
      sb.Append(".");
      sb.Append(Date.ClientID.ToString());
      sb.Append("');");

      calendar.Attributes.Add("href","javascript:;");
      calendar.Attributes.Add("onclick",sb.ToString());


    }


nel popoup:
      Link.Attributes.Add("href", String.Format("JavaScript:window.opener.document.{0}.value = \'{1}\'; window.close();", Request.QueryString["field"], e.Day.Date.ToString("dd/MM/yyyy")));


ho messo solo il codice del link che chiude la popup e passa il valore

ciao marco

p.s. il codice lo scritto un annetto fa , ma gari sipuò migliorare :)

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.