Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    45

    radio button e calcolo nel form

    Salve al NewsGroup,
    allora sto realizzando un form che mi permetta il calcolo di un servizio in base alle scelte dell'utente internet

    il form è formato da un radio button e da un semplice hidden field alla fine la somma compare in un semplice field di testo
    (CAMPO3)

    ESATTAMENTE ---------------
    <input name="campo0" type="radio" value="46" onChange="document.pippo.campo3.value = parseInt(document.pippo.campo.value,10) + parseInt(document.pippo.campo0.value,10);">

    <input name="campo0" type="radio" value="90" onChange="document.pippo.campo3.value = parseInt(document.pippo.campo.value,10) + parseInt(document.pippo.campo0.value,10);">

    <input name="campo" type="radio" value="560" onChange="document.pippo.campo3.value = parseInt(document.pippo.campo.value,10) + parseInt(document.pippo.campo0.value,10);">

    <input name="campo3" type="text" size="20">
    ---------------------------

    Ma non questo semplice script non funziona ho visto sul form se qualcuno aveva avuto lo stesso problema ma niente

    grazie mille cmq,

    Cluter
    _^!^_

  2. #2
    Scusa non mi è tanto chiaro il problema. :master:
    Dovrebbe fare una somma in base al valore della radio selezionata?
    Non credere in quello che c'è.
    Credi in quello che vorresti che ci fosse.

    }--> SepA <--{

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    45
    Esatto ... !!!

    il nome ("name") della radio è lo stesso ma cambia il valore ("value")



    ciao,
    Cluter
    PS: spero che adesso il problema sia più chiaro
    _^!^_

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ma il campo di nome "campo" e` un radio (come postato) o un altro (che non hai postato)?

    PS. si puo` fare in maniera piu` semplice, ma prima occorre trovare l'errore.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    45
    no è il nome del campo dove appare il risultato ...

    per qualsiasi chiarimento non esitare a contattarmi

    cordialmente,
    cluter
    _^!^_

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Allora ci sono un mucchio di errori.
    A me pare che il risultato vada in "campo3".

    Ma c'e` un radio di nome "campo" (il terzo), mentre dicevi che dovrebbe essere un hidden (che non compare nel codice).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    45
    Hai ragione per tutto il campo del risultato è il campo denominato "campo3"

    Posto di nuovo lo script incrimanto e comunque grazie molte per tutto
    ........................................

    <input name="campo0" type="radio" value="46" onChange="document.pippo.campo3.value = parseInt(document.pippo.campo.value,10) + parseInt(document.pippo.campo0.value,10);">

    <input name="campo0" type="radio" value="90" onChange="document.pippo.campo3.value = parseInt(document.pippo.campo.value,10) + parseInt(document.pippo.campo0.value,10);">

    <input name="campo" type="hidden" value="560" onChange="document.pippo.campo3.value = parseInt(document.pippo.campo.value,10) + parseInt(document.pippo.campo0.value,10);">

    <input name="campo3" type="text" size="20">
    ................................................

    grazie di nuovo
    Cluter
    _^!^_

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ancora non mi e` chiaro, ma provo a riscrivere.

    <input name="campo0" type="radio" value="46" onChange="this.form.campo3.value = parseInt(this.form.campo.value,10) + parseInt(this.value,10);">

    <input name="campo0" type="radio" value="90" onChange="this.form.campo3.value = parseInt(this.form.campo.value,10) + parseInt(this.value,10);">

    Il successivo non so come riscriverlo. Il nome e` diverso.
    <input name="campo" type="hidden" value="560" onChange="document.pippo.campo3.value = parseInt(document.pippo.campo.value,10) + parseInt(document.pippo.campo0.value,10);">

    <input name="campo3" type="text" size="20" readonly="true">

    Cliccando sul primo il valore incampo3 risultera` 606, sul secondo 650.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    45
    devo dirti sinceramente che a me non funziona ...

    cordialmente,
    Cluter
    ps: ma mi avevi detto che esisteva un altro metodo, quale?
    _^!^_

  10. #10
    A me il codice di Mich_ funziona e infatti non puoi fare riferimento a un controllo tramite il nome se ha lo stesso nome di un altro controllo, perchè giustamente non si saprebbe a quale vuoi fare riferimento.

    Poi, scusami se la domanda può sembrare banale e stupida, ma i controlli li metti all'interno di un form ???
    Se non hai i controlli nel form non li riesci a recuperare con la sintassi this.form.campo3.value ma dovresti scrivere document.all("campo3").value.

    ps: ma mi avevi detto che esisteva un altro metodo, quale?
    Penso che si riferisse ad una cosa del genere: + pulita e + pratica

    Nell'head inserisci il codice:
    <Script Language="JavaScript">
    function Somma(intMioValore) {
    document.pippo.campo3.value = parseInt(document.pippo.campo.value) + parseInt(intMioValore,10);
    }
    </Script>


    Poi su ogni radio-button il codice e l'evento onChange sostituiscilo con :
    onClick="Somma(this.value)"

    Ti consiglio l'evento onClick al posto dell'onChange perchè quest'ultimo ti mostra i cambiamenti dell'operazione solo dopo che hai spostato il "fuoco" dalla radio-button che hai scelto, mentre con l'evento onClick il cambiamento è istantaneo.

    L'evento presente nella text nascosta non so a cosa ti possa servire, ma dal codice che hai postato non verrà mai generato.
    Inoltre se il tuo valore 560 è fisso e sarà sempre questo puoi metterlo al posto di: parseInt(document.pippo.campo.value) nella funzione Somma e quindi cancellare la text.

    Ciao e fammii sapere se hai ancora problemi.
    Non credere in quello che c'è.
    Credi in quello che vorresti che ci fosse.

    }--> SepA <--{

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.