Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407

    Modulo con doppio 'form action'

    salve ho un problema con questo script:

    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> 
    <html> 
    <head> 
    <title>Documento senza titolo</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    <SCRIPT language=javascript> 
    <!-- 
    
    function trasforma(){ 
    
    f = document.form1; 
    q = parseFloat("0"+f.prezzo1.value) 
    s = parseFloat("0"+f.sconto.value) 
    t = Math.round(q * (100 - s)) / 100 
    f.prezzo2.value = t 
    } 
    //--> 
    </SCRIPT> 
    <SCRIPT language=javascript> 
    <!-- 
    
    function trasformamore(){ 
    f = document.form1; 
    if (f.scontoagg.value!="") 
    x = parseFloat("0"+f.prezzo2.value) 
    y = parseFloat("0"+f.scontoagg.value) 
    z = Math.round(x * (100 - y)) / 100 
    f.prezzo2.value = z 
    return false 
    } 
    //--> 
    </SCRIPT> 
    <form method="post" action="write_rtf_new.asp"> 
    </head> 
    
    <body><form action="" method="post" name="form1" id="form1"> 
    <table width="200" border="0" cellspacing="0" cellpadding="0"> 
    <tr> 
    <td nowrap>Prezzo</td> 
    <td nowrap><input name="prezzo1" type="text" id="prezzo12" size="20"></td> 
    </tr> 
    <tr> 
    <td nowrap>Sconto</td> 
    <td nowrap> 
    <input name="sconto" type="text" id="sconto3" onBlur="trasforma()" size="20"></td> 
    </tr> 
    <tr> 
    <td nowrap>Sconto Aggiuntivo </td> 
    <td nowrap>
    <input name="scontoagg" type="text" id="scontoagg3" onBlur="trasformamore()" size="20"></td> 
    </tr> 
    <tr> 
    <td nowrap>Prezzo finale </td> 
    <td nowrap><input name="prezzo2" type="text" id="prezzo22" size="20"></td> 
    </tr> 
    <tr> 
    <td nowrap></td> 
    <td nowrap>
    <font face="Tahoma">
    <input type="submit" name="Submit" value="Fattura" style="font-size: 8 pt; font-weight: bold; background-color: #FFCC66"></font></td> 
    </tr> 
    </table> 
    </form> 
    </body> 
    </html>
    nel senso che l'inserimento della parte evidenziata in rosso nel code manda fuori uso lo script stesso... perchè? dove sbaglio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    nn capisco cosa ci faccia li quella linea rossa...

  3. #3
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    appunto... l'ho spostato in varie parti dello script... ma non ci riesco... chiedo scusa per i miei limiti...

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    macchè scusa...

    allora, tu apri due form, esatto? come mai apri due form?


    spiega cosa vuoi fare esattamente

  5. #5
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    grazie...

    apro un unico form con i campi

    Prezzo
    Sconto
    Sconto Aggiuntivo
    Prezzo finale

    metto il prezzo e lo sconto ed in automatico con lo script ottengo il prezzo finale; poi con:

    codice:
    <form method="post" action="write_rtf_new.asp">
    vorrei esportare i dati in formato RTF...

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    beh, se noti nel tuo codice dopo c'è un altro form,senza action... per fare quello che vuoi fare tu basta un semplicissimo form

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <SCRIPT language=javascript>
    <!--

    function trasforma(){

    f = document.form1;
    q = parseFloat("0"+f.prezzo1.value)
    s = parseFloat("0"+f.sconto.value)
    t = Math.round(q * (100 - s)) / 100
    f.prezzo2.value = t
    }
    //-->
    </SCRIPT>
    <SCRIPT language=javascript>
    <!--

    function trasformamore(){
    f = document.form1;
    if (f.scontoagg.value!="")
    x = parseFloat("0"+f.prezzo2.value)
    y = parseFloat("0"+f.scontoagg.value)
    z = Math.round(x * (100 - y)) / 100
    f.prezzo2.value = z
    return false
    }
    //-->
    </SCRIPT>
    </head>

    <body>
    <form method="post" action="write_rtf_new.asp" name="form1" id="form1">
    <table width="200" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td nowrap>Prezzo</td>
    <td nowrap><input name="prezzo1" type="text" id="prezzo12" size="20"></td>
    </tr>
    <tr>
    <td nowrap>Sconto</td>
    <td nowrap>
    <input name="sconto" type="text" id="sconto3" onBlur="trasforma()" size="20"></td>
    </tr>
    <tr>
    <td nowrap>Sconto Aggiuntivo </td>
    <td nowrap>
    <input name="scontoagg" type="text" id="scontoagg3" onBlur="trasformamore()" size="20"></td>
    </tr>
    <tr>
    <td nowrap>Prezzo finale </td>
    <td nowrap><input name="prezzo2" type="text" id="prezzo22" size="20"></td>
    </tr>
    <tr>
    <td nowrap> </td>
    <td nowrap>
    <font face="Tahoma">
    <input type="submit" name="Submit" value="Fattura" style="font-size: 8 pt; font-weight: bold; background-color: #FFCC66"></font></td>
    </tr>
    </table>
    </form>
    </body>
    </html>

    ovviamente poi la pagina ASP dell'action del form ci pensa a fare tutto in RTF

  7. #7
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    sei grande...
    mille grazie... adesso funziona... posso chiedere un'altra cosa?

    questo va bene per un elemento singolo dello script, ma se io avessi più elementi nella stessa pagina a cui applicare questo script?

    mi spiego meglio:

    adesso ho:

    Prezzo
    Sconto
    Sconto Aggiuntivo
    Prezzo finale

    se aggiungessi:

    Prezzo_1
    Sconto_1
    Sconto Aggiuntivo_1
    Prezzo finale_1

    come dovrei comportarmi?

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    parli delle funzioni javascript

    trasforma e trasformamore ?

  9. #9
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    ... esattamente...

    come dovrei personalizzarle se aggiungessi altri campi del form con diverso nome?

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    no.. da quello che ho capito io vuoi aggiungere altri FORM...

    tu le funzioni le richiami cosi:

    <input name="sconto" type="text" id="sconto3" onBlur="trasforma()" size="20">

    <input name="scontoagg" type="text" id="scontoagg3" onBlur="trasformamore()">


    prova a richiamarle così

    <input name="sconto" type="text" id="sconto3" onBlur="trasforma('nomeform')" size="20">

    <input name="scontoagg" type="text" id="scontoagg3" onBlur="trasformamore('nomeform')">


    e le funzioni cambiale così:
    <SCRIPT language=javascript>
    <!--

    function trasforma(f){
    q = parseFloat("0"+f.prezzo1.value)
    s = parseFloat("0"+f.sconto.value)
    t = Math.round(q * (100 - s)) / 100
    f.prezzo2.value = t
    }
    //-->
    </SCRIPT>
    <SCRIPT language=javascript>
    <!--

    function trasformamore(f){
    if (f.scontoagg.value!="")
    x = parseFloat("0"+f.prezzo2.value)
    y = parseFloat("0"+f.scontoagg.value)
    z = Math.round(x * (100 - y)) / 100
    f.prezzo2.value = z
    return false
    }
    //-->
    </SCRIPT>



    NOTA BENE: nel richiamo alle funzioni, 'nomeform', va sostituito con la PROPRIETA' name del form in cui sono contenuti i campi... (nel caso descritto 'form1')

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