Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 29
  1. #11
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Ho capito perchè non funziona: in pratica i nuovi valori che l'utente può inserire nel campo "personale" non li inserisce manualmente all'interno del campo "p" del form, ma con un pulsante apre una popup dove trova l'elenco dei valori possibili da inserire, li seleziona e chiude la popup, a quel punto il campo "p" del form avrà valori diversi da quelli iniziali.

    Operando così il checkbox rimane non fleggato.

    Ho fatto la prova "manualmente" ed in effetti lo script di pietro09 funziona correttamente, chiedo scusa per il malinteso.

    Adesso come risolvo la questione? :master:

    Aggiungo che se mi muovo lungo i campi del form con il tasto TAB il checkbox viene fleggato.

    Funzione che popola il campo "p" dalla popup:

    codice:
    <script language="javascript" type="text/javascript">
    <!--
     
    function setValue(selObj)
    {
      // Se la property opener (la finestra che ha aperto il popup) non
      // è impostata oppure l'option selezionata è la prima, ritorna
      if (!window.opener || selObj.selectedIndex <= 0) return;
     
    <%
      If flMulti = True Then
    %>
      var vl = "";
      var opts = selObj.options;
     
      for ( n = 0 ; n < opts.length ; n++ )
        {
          if (opts[n].selected)
            {
              if (vl.length > 0) vl += ", ";
              vl += opts[n].value;
            }
        }
     
      // Copia la stringa multipla nel campo 'fld' del FORM 'Qform'
      window.opener.document.Qform.<%=fld%>.value = vl;
    <%
      Else
    %>
      // Copia la stringa nel campo 'fld' del FORM 'Qform' contenuto
      // nella finestra che ha aperto il popup
      window.opener.document.Qform.<%=fld%>.value = selObj.value;
    <%
      End If
    %>
     
      // Chiudi automaticamente il popup
      window.close();
    }
     
    // -->
    </script>

  2. #12
    Oooh, ma ci sei? Continui a sbagliare (e due...):

    codice:
    window.onload
    non

    codice:
    window_onload
    Oltretutto, hai provato ad usare l'evento onkeydown?

  3. #13
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Si credo di si:

    codice:
    <script language="javascript" type="text/javascript">
     <!--
    
    window.onload = function()
    {
        var p = document.getElementById("personale");
        if(!p) return;
        
        p.ValoreOriginale = "<%=objRs("personale_1")%>";
        p.onkeydown = function()
        {
            document.getElementById("C1").checked = (this.value != this.ValoreOriginale);
        }
        
        
    }
    
    // -->
    </script>
    Ma come detto prima il checkbox prende il flag solo se mi muovo tra i campi del form con il TAB.

  4. #14
    E così?

    codice:
    window.onload = function()
    {
       var p = document.getElementById("personale");
       if(!p) return;
       var campo = document.getElementById("C1");
       if(!campo) return;
       var ValoreOriginale = "<%=objRs("personale_1")%>";
    
       p.onkeydown = function()
       {
          if ( p.value != ValoreOriginale )
          {
             campo.checked = true
          }
       }
    }

  5. #15
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Sempre lo stesso problema.

  6. #16
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da wegawhite
    Sempre lo stesso problema.

    Il problema è che il quesito è totalmente diverso da quello posto.
    E che diamine Se debbo fare la scelta scegliendo un elemento da una lista in un popup, lo risolverei in modo totalmente diverso

    Io mi permetto di suggerire di fare una o due semplici paginette che focalizzino il problema.
    Dopo di che si esporteranno le soluzioni al caso reale e più complesso.
    Per il resto a domani mattina, salvo scioperi, alluvioni, connessione adsl guaste, ferie anticipate, manutenzioni server

    Ciao
    Pietro

  7. #17
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Non credo che il problema dello script sia dovuto al fatto che si seleziona un elemento da una lista in un popup e ve lo dimostro.

    Ho semplificato al massimo il form nel quale ho previsto:

    1) il campo di testo chiamato p che presenta un valore di default che nell'esempio è pippo (alla faccia della fantasia );

    2) il campo checkbox chiamato C1 disabilitato ed in condizione iniziale uguale a false.


    L'intenzione è fare in modo che se l'utente decide di cambiare il valore di default del campo di testo chiamato p con un qualsiasi altro valore, lo stato del checkbox passi in automatico ed in tempo reale dallo stato iniziale false (cioè non fleggato) allo stato true (cioè fleggato).

    Ebbene ecco il codice:

    codice:
    <html>
    <head>
        <title>Pagina senza titolo</title>
    <script language="javascript" type="text/javascript">
     <!--
    
    window.onload = function()
    {
       var p = document.getElementById("p");
       if(!p) return;
       var campo = document.getElementById("C1");
       if(!campo) return;
       var ValoreOriginale = "pippo";
    
       p.onkeydown = function()
       {
          if ( p.value != ValoreOriginale )
          {
             campo.checked = true
          }
       }
    }
    
    // -->
    </script>
    
    </head>
    <body>
        <form id="form1" action="pagina.asp">
            <input id="p" name="p" value="pippo" />
            <input type="checkbox" id="C1" name="C1" value="ON" disabled="disabled"/>
     <input type="submit" value="Invia" name="B1">
        </form>
    </body>
    </html>
    In effetti cambiando il valore di default previsto nel campo chiamato p, il checkbox C1 passa da false a true, ma ci passa se nel form mi muovo con il tabulatore altrimenti rimane false.

    Vi chiedo:

    1) Qual'è l'evento che devo utilizzare affinchè il passaggio false --> true sia visualizzabile istantaneamente senza necessità di scorrere altri campi del form stesso?

    Per chi ha curiosità di provare questo form e di darmi qualche suggerimento risolutore e di spiegarmi nel dettaglio come si potrebbe ovviare alla questione, trova pubblicato, qui di seguito, il tutto:

    http://freehost07.websamba.com/garza/check.htm

    Saluti.

  8. #18
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Pagina senza titolo</title>
    <script language="javascript" type="text/javascript">
    // <!CDATA[
    
    window.onload = function()
    {
       var p = document.getElementById("p");
       if(!p) return;
       
       var campo = document.getElementById("C1");
       if(!campo) return;
       var ValoreOriginale = "pippo";
    
       p.onkeyup = function()
       {
          if ( p.value != ValoreOriginale )
          {
             campo.checked = true;
          }
          else campo.checked = false;
       }
    }
    
    
    
    // ]]>
    </script>
    </head>
    <body>
        <form id="form1" action="?">
            <input id="p" name="p" value="pippo" />
            <input type="checkbox" id="C1" name="C1" value="ON" disabled="disabled" />
            <input type="submit" value="Invia" name="B1"/>
        </form>
    </body>
    </html>
    naturalmente, se dicessi che l'ho provato con IE6, Firefox1.5, Opera 8 e funziona, non ci crederai :maLOL:
    Pietro

  9. #19
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    meglio
    window.onload = function()
    {
    var p = document.getElementById("p");
    if(!p) return;

    var campo = document.getElementById("C1");
    if(!campo) return;
    var ValoreOriginale = "pippo";

    p.onkeyup = function()
    {
    campo.checked = (p.value != ValoreOriginale);
    }
    }
    Pietro

  10. #20
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Adesso si che va bene (mi accontento più semplicemente che funzioni su IE 6 )...

    Ti ringrazio, mi hai risolto una bella grana !!! A buon rendere !!!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.