Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757

    Due funzioni nella stessa pagina

    Ciao, devo far convivere due funzioni in un'unica pagina e scrivo così:

    codice:
    <script language="javascript"> 
    <!-- 
    function trasforma(f) 
    {  
    f = document[f];  
    
    f.prezzo1.value = f.prezzo1.value.replace(",", "."); 
    q = parseFloat("0" + f.prezzo1.value);  
    
    f.sconto1.value = f.sconto1.value.replace(",", "."); 
    s = parseFloat("0" + f.sconto1.value);  
      
    f.finale1.value = Math.round(q * (100 - s)) / 100; 
    } 
    //--> 
    </script> 
    
    
    <script language="Javascript">
    <!-- 
    function checkFormData(formObj)
    {
    
    if (formObj.sconto1.value.length <= 0)    
    {      
    alert("\nNon hai inserito un valore di sconto.\n\nPer favore inseriscilo, se non applichi nessuno sconto scrivi 0.");      
    formObj.sconto1.focus();      
    formObj.sconto1.select(); 
         
    return(false);    
    }   
    
    return(true);
    } 
    function initField(fieldObj, initStr)
    {
    
    if (fieldObj.value == initStr) fieldObj.value = "";
    }
     // -->
    </script>
    
    </head> 
    <body>
    
    <input type="text" name="sconto1" size="20" value="*Inserisci Sconto*" onfocus="initField(this, '*Inserisci Sconto*');" onBlur="trasforma('form1')"> 
    
    <input type="submit" name="Submit" value="Registra">
    
    </form>
    mentre la OnBlur funziona regolarmente la onFocus viene ignorata dallo script perchè? :master:

  2. #2
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    sto anche provando così:

    codice:
    <form action="vendita_2304.asp?IDCD=<%=IDCD%>" method="post" onsubmit="return(checkFormData(this));">
    <input type="text" name="sconto1" size="20" value="*Inserisci Sconto*" onBlur="trasforma('form1');" onfocus="initField(this, '*Inserisci Sconto*')">
    ma non funziona più onblur... :master:

  3. #3
    prova inglobando il tutto in un unico tag script:

    codice:
    <script language="javascript"> 
    <!-- 
    function trasforma(f) 
    {  
    f = document[f];  
    
    f.prezzo1.value = f.prezzo1.value.replace(",", "."); 
    q = parseFloat("0" + f.prezzo1.value);  
    
    f.sconto1.value = f.sconto1.value.replace(",", "."); 
    s = parseFloat("0" + f.sconto1.value);  
      
    f.finale1.value = Math.round(q * (100 - s)) / 100; 
    } 
    
    function checkFormData(formObj)
    {
    
    if (formObj.sconto1.value.length <= 0)    
    {      
    alert("\nNon hai inserito un valore di sconto.\n\nPer favore inseriscilo, se non applichi nessuno sconto scrivi 0.");      
    formObj.sconto1.focus();      
    formObj.sconto1.select(); 
         
    return(false);    
    }   
    
    return(true);
    } 
    function initField(fieldObj, initStr)
    {
    
    if (fieldObj.value == initStr) fieldObj.value = "";
    }
     // -->
    </script>
    ciao

  4. #4
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    grazie per la risposta, ma continua con l'errore:

    codice:
    'prezzo1 è nullo o non è un oggetto'

  5. #5
    Originariamente inviato da viki1967
    grazie per la risposta, ma continua con l'errore:

    codice:
    'prezzo1 è nullo o non è un oggetto'
    la chiamata falla così:

    codice:
    <input type="text" name="sconto1" size="20" value="*Inserisci Sconto*" onfocus="initField(this, '*Inserisci Sconto*');" onBlur="trasforma(this.form)">

  6. #6
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Originariamente inviato da var
    la chiamata falla così:

    codice:
    <input type="text" name="sconto1" size="20" value="*Inserisci Sconto*" onfocus="initField(this, '*Inserisci Sconto*');" onBlur="trasforma(this.form)">
    grazie ma non cambia nulla... non esegue più i calcoli in automatico

  7. #7
    dovresti postare il codice completo della pagina...

  8. #8
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    eccolo pronto:

    codice:
    <title>Estrai</title>
    <head>
    
    <script language="javascript"> 
    <!-- 
    function trasforma(f) 
    {  
    f = document[f];  
    
    f.prezzo1.value = f.prezzo1.value.replace(",", "."); 
    q = parseFloat("0" + f.prezzo1.value);  
    
    f.sconto1.value = f.sconto1.value.replace(",", "."); 
    s = parseFloat("0" + f.sconto1.value);  
      
    f.finale1.value = Math.round(q * (100 - s)) / 100; 
    } 
    
    function checkFormData(formObj)
    {
    
    if (formObj.sconto1.value.length <= 0)    
    {      
    alert("\nNon hai inserito un valore di sconto.\n\nPer favore inseriscilo, se non applichi nessuno sconto scrivi 0.");      
    formObj.sconto1.focus();      
    formObj.sconto1.select(); 
         
    return(false);    
    }   
    
    return(true);
    } 
    function initField(fieldObj, initStr)
    {
    
    if (fieldObj.value == initStr) fieldObj.value = "";
    }
     // -->
    </script>
    </head> 
    <body>
    
    
    <form action="vendita_2304.asp?IDCD=<%=IDCD%>" method="post" onsubmit="return(checkFormData(this));">
    
    <font size="1" face="Verdana" color="#000080">Prezzo iniziale</font>
    
    <input type="text" name="prezzo1" size="20" value="<%=FormatNumber (riferimentodiicona, 2)%>" onBlur="trasforma('form1')"> 
    
    <font size="1" face="Verdana" color="#000080">Sconto in percentuale</font>
    
    <input type="text" name="sconto1" size="20" value="*Inserisci Sconto*" onfocus="initField(this, '*Inserisci Sconto*');" onBlur="trasforma(this.form)">
    
    <font size="1" face="Verdana" color="#000080">Prezzo finale</font>
    
    <input type="text" name="finale1" size="20">
    
    
    
    <font size="1" face="Verdana" color="#000080">Data</font>
    
    <input type="text" name="data_vendita" size="20" value="MM/GG/AAAA">
    
    <input type="submit" name="Submit" value="Registra">
    
    </form>
    </body>
    </html>

  9. #9
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Estrai</title>
    
    <script language="javascript"> 
    <!-- 
    function trasforma(f) 
    { 
    
    f.prezzo1.value = f.prezzo1.value.replace(",", "."); 
    q = parseFloat("0" + f.prezzo1.value);  
    
    f.sconto1.value = f.sconto1.value.replace(",", "."); 
    s = parseFloat("0" + f.sconto1.value);  
      
    f.finale1.value = Math.round(q * (100 - s)) / 100; 
    } 
    
    function checkFormData(formObj)
    {
    
    if (formObj.sconto1.value.length <= 0)    
    {      
    alert("\nNon hai inserito un valore di sconto.\n\nPer favore inseriscilo, se non applichi nessuno sconto scrivi 0.");      
    formObj.sconto1.focus();      
    formObj.sconto1.select(); 
         
    return(false);    
    }   
    
    return(true);
    } 
    function initField(fieldObj, initStr)
    {
    
    if (fieldObj.value == initStr) fieldObj.value = "";
    }
     // -->
    </script>
    </head> 
    <body>
    
    
    <form action="vendita_2304.asp?IDCD=<%=IDCD%>" method="post" onsubmit="return(checkFormData(this));">
    
    <font size="1" face="Verdana" color="#000080">Prezzo iniziale</font>
    
    <input type="text" name="prezzo1" size="20" value="<%=FormatNumber (riferimentodiicona, 2)%>" onBlur="trasforma(this.form)"> 
    
    <font size="1" face="Verdana" color="#000080">Sconto in percentuale</font>
    
    <input type="text" name="sconto1" size="20" value="*Inserisci Sconto*" onfocus="initField(this, '*Inserisci Sconto*');" onBlur="trasforma(this.form)">
    
    <font size="1" face="Verdana" color="#000080">Prezzo finale</font>
    
    <input type="text" name="finale1" size="20">
    
    
    
    <font size="1" face="Verdana" color="#000080">Data</font>
    
    <input type="text" name="data_vendita" size="20" value="MM/GG/AAAA">
    
    <input type="submit" name="Submit" value="Registra">
    
    </form>
    </body>
    </html>

  10. #10
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    grazie adesso funziona anche se:

    - invio il form lasciando nel campo 'sconto1' il value="*Inserisci Sconto*" non segnala nessun errore;

    - ho cercato di mettere un controllo sul campo 'data_vendita' del form, ma non funziona, perchè?

    codice:
    <script language="javascript"> 
    <!-- 
    function trasforma(f) 
    { 
    
    f.prezzo1.value = f.prezzo1.value.replace(",", "."); 
    q = parseFloat("0" + f.prezzo1.value);  
    
    f.sconto1.value = f.sconto1.value.replace(",", "."); 
    s = parseFloat("0" + f.sconto1.value);  
      
    f.finale1.value = Math.round(q * (100 - s)) / 100; 
    } 
    
    function checkFormData(formObj)
    {
    
    if (formObj.sconto1.value.length <= 0)    
    {      
    alert("\nNon hai inserito un valore di sconto.\n\nPer favore inseriscilo, se non applichi nessuno sconto scrivi 0.");      
    formObj.sconto1.focus();      
    formObj.sconto1.select(); 
    
    return(false);    
    }   
    
    if (formObj.data_vendita.value.length <= 0)    
    {      
    alert("\nNon hai inserito una data valida.\n\nPer favore inserisci una data valida nel formato MM/GG/AAAA.");      
    formObj.data_vendita.focus();      
    formObj.data_vendita.select(); 
         
    return(false);    
    }    
     
    return(true);
    } 
    function initField(fieldObj, initStr)
    {
    
    if (fieldObj.value == initStr) fieldObj.value = "";
    }
     // -->
     
     
    </script>
    
    <input type="text" name="data_vendita" size="20" value="MM/GG/AAAA" onfocus="initField(this, 'MM/GG/AAAA');" onBlur="trasforma(this.form)">

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.