Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892

    ASP e javascript: problema con funzione

    SAlve a tutti:
    mi sono creato una funzione javascript che mi serve per far scrivere sulla finestra principale il contenuto di una finestra successiva.

    codice:
    <script>
    function aggiungi(){
    opener.document.form1.tipologia.value=<%Response.Write (rs("descrizione"))%>;
    this.close();
    }
    </script>
    Il problema è che mi restituisce un errore. Il javascript va bene, in quanto se sostituisco all'ASP semplice testo il tutto funziona...quindi sbaglio ad inserire il codice ASP (VBScript)...
    Come posso fare?

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao franz79,

    ti avevo risposto su scripting.... che risultato ti da? guarda l'html generato

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    Allora:

    codice:
    ';>aggiungi
    COsì non va.

    codice:
    ';>aggiungi
    Così va...
    Credo che dipenda dal fatto che ID è ovviamente numerico, e che invece decrizione è una stringa. Come faccio a fargli passare il valore stringa?...
    AZZ...

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    Se provo a fare così, invece

    codice:
    <script>
    function aggiungi(){
    opener.document.form1.tipologia.value=miodato;
    this.close() }
    </script>
    ...
    <%stnome=rs("descrizione")%>
    <script language="JavaScript1.2">
    var miodato='<%=stnome%>'
    </script>
    <div align="center">
      <center>
      <table border="1" width="519" height="88" bordercolor="#E9E9E9">
        <tr>
          <td width="51" height="53"><font face="Tahoma" size="1">
        
            aggiungi</font></td>
          <td width="279" height="53"><font face="Tahoma" size="1"><%Response.Write stnome%></font>
          <td width="101" height="53"><font face="Tahoma" size="1"><%Response.Write (rs("conservazione"))%></font></td>
         
          </table>
     <%
    rs.MoveNext 
    end if 
    Next 
    End if 
    %>
    così fuziona, ma mi passa chiaramente l'ULTIMO VALORE ESTRATTO DALLA QUERY...

    non so come fare...

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    nessuno, eh?

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    non ho più risposto perché ero parecchio indaffarato....
    però devi essere più chiaro (e magari rispondere alle domande che ti facciamo )

    come fai a dire che questo va?
    codice:
    <%=Response.Write (rs("id"))%>
    è come scrivere
    codice:
    <%Response.Write Response.Write (rs("id"))%>
    lo hai guardato l'html generato dalla pagina asp? (prendendolo dal browser)

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    Sì, scusa, ho sbagliato a trascrivere: l'uguale non c'era...

    Allora, ti posto il codice html generato:

    1° caso: id (numerico)

    codice:
    
    <font face="Tahoma" size="1"></font></p><center>
      <table border="1" width="518" height="26" bgcolor="#E9E9E9" bordercolor="#000000">
        <tr>
          <td width="41" height="1" align="center"><font face="Tahoma" size="1">inserisci</font></td>
        </center>
          <td width="224" height="1" align="center">
            <p align="left"><font face="Tahoma" size="2">Descrizione contenuto</font></td>
        <center>
          <td width="67" height="1" align="center"><font face="Tahoma" size="2">conservazione</font></td>
        </tr>
      </table></center>
    <div align="center">
      <center>
      <table border="1" width="519" height="88" bordercolor="#E9E9E9">
        <tr>
          <td width="51" height="53"><font face="Tahoma" size="1">
            aggiungi</font></td>
          <td width="279" height="53"><font face="Tahoma" size="1">26</font>
          <td width="101" height="53"><font face="Tahoma" size="1">10 anni</font></td>
          </table>
    ...
    e così via: così è perfetto: funziona

    2° caso: campo testo (descrizione):

    codice:
    <table border="1" width="519" height="88" bordercolor="#E9E9E9">
        <tr>
          <td width="51" height="53"><font face="Tahoma" size="1">
            aggiungi</font></td>
          <td width="279" height="53"><font face="Tahoma" size="1">75</font>
          <td width="101" height="53"><font face="Tahoma" size="1">1 anno</font></td>
    
          
          </table>
    Così non va...

  8. #8
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    ti scrivo la sintassi corretta (controllo anche che la opener esista)
    per fare il copia e incolla del codice quota il mio messaggio e prendilo dalla textarea
    codice:
    ';">aggiungi
    ho fatto 2 replace:
    uno per cambiare le eventuali virgolette " con il codice html &#34;
    altrimenti chiuderebbero la limitazione del parametro onclick
    uno per cambiare gli eventuali apici ' con \'
    altrimenti chiuderebbero la stringa javascript

    al posto di xxx metti il tuo recordset se sei sicuro che non contenga mai null, altrimenti fa così prima
    codice:
    xxx = rs("descrizione")
    if isNull(xxx) then xxx=""
    se servono chiarimenti chiedi pure

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    Con questo piccolo accorgimento avrei risolto. Così mi funziona in ogni caso: pensi che possa andare?

    Doppi apici non sono presenti nel recordset, solo apici singoli, ma così gestisce la cosa...

  10. #10
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    è vero con IE funziona anche così... ma tutto ciò mi sconvolge VVoVe:

    se vuoi che vada anche su altri browser ti consiglio questa sintassi
    codice:
    ';">aggiungi
    il forum modifica un po' quello che si scrive... il replace sarebbe così
    codice:
    Replace(xxx,"'","\'")

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.