Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493

    Calcolo in tempo reale moltiplicazione in campo di testo

    Ciao a tutti,
    Sono a chiedervi aiuto per creare un calcolo automatico.
    Ho un campo di testo con dei numeri interi da moltiplicare per un valore fisso non intero (es 5,5).
    se nel textfield di nome unità viene scritto ad esempio 5, come posso far apparire subito senza premere nessun pulsante (va bene ad esempio passando ad un altro campo di testo) il risultato della moltiplicazione 5*5,5?
    Grazie

  2. #2
    codice:
    <input placeholder="Valore da moltiplicare"
       onKeyup="document.querySelector('#result').value=Number(this.value)*5.5"><br>
    <input placeholder="Risultato" id="result">

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    codice:
    <input placeholder="Valore da moltiplicare"
       onKeyup="document.querySelector('#result').value=Number(this.value)*5.5"><br>
    <input placeholder="Risultato" id="result">
    Grazie mille!!!

    Volendo complicare un po' le cose,
    è possibile selezionare il valore dinamicamente da un menu che mostra vari prezzi? quindi non avere il 5.5 fisso ma scegliere il valore dalla descrizione del menu di un select?

    questa è la mia select
    codice:
              <option value="<%=(rs.Fields.Item("ID").Value)%>" <%If (Not isNull((rs2.Fields.Item("cm").Value))) Then If (CStr(rs.Fields.Item("ID").Value) = CStr((rs2.Fields.Item("cm").Value))) Then Response.Write("selected=""selected""") : Response.Write("")%> ><span id="pr"><%=(rs.Fields.Item("pr").Value)%></span> - <%=(rs.Fields.Item("descrizione").Value)%></option>
    quindi mostrare il risultato della moltiplicazione facendo campoditesto*select value ma solo il testo racchiuso nello span con id pr.
    È fattibile sempre con onKeyup cambiando la selezione alle voci della select e il numero scritto nel campo di testo aggiornare il risultato?
    grazie!
    Ultima modifica di tretretre; 20-09-2017 a 11:37

  4. #4
    codice:
    <input placeholder="Valore da moltiplicare"
       onKeyup="document.querySelector('#result').value=Number(this.value)*Number(document.querySelector('#id_del_tag_select').value)"><br>
    <input placeholder="Risultato" id="result">

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    Ti ringrazio per la risposta. Avevo provato anche io ma così non funziona.
    Nel campo risultato non appare niente.
    Guardando il codice sorgente della pagina dal browser, nonostante abbia scritto questo codice
    codice:
    <option value="2"><span id="pr">1 Etichetta%></span></option>
    appare
    codice:
    <option value="2">1 Etichetta</option>
    cosa sbaglio?

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Premesso che non hai postato la funzione ne tantomeno html del form. Luca ha usanto un campo imput per il risultato non una option che per quanto ne so non supporta attributi spam.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Premesso che non hai postato la funzione ne tantomeno html del form. Luca ha usanto un campo imput per il risultato non una option che per quanto ne so non supporta attributi spam.
    questo è il codice del form

    codice:
    <form method="post" name="form1" id="form1">
        <table align="center">
          <tr valign="baseline">
            <td nowrap="nowrap" align="right">Cognome:</td>
            <td><input type="text" name="Cognome" size="32" /></td>
          </tr>
          <tr valign="baseline">
            <td nowrap="nowrap" align="right">Nome:</td>
            <td><input type="text" name="Nome" size="32" /></td>
          </tr>
          <tr valign="baseline">
            <td nowrap="nowrap" align="right">Card:</td>
            <td><input type="text" name="card" size="32" /></td>
          </tr>
          <tr valign="baseline">
            
            <td>
    <input name="crediti" id="crediti" placeholder="Valore da moltiplicare" onKeyup="document.querySelector('#result').value=Number(this.value)*Number(document.querySelector('#pr').value)"><br></td>
    
          <tr valign="baseline">
            <td nowrap="nowrap" align="right">mensa:</td>
            <td><select name="costomensa" id="costomensa">
              <option value="1">3,5 - lettera</option>
              <option value="2">5 - allega</option>
              <option value="3">2 - Sura</option>
            </select></td>
          </tr>
          <
              <input type="submit" value="Aggiorna" />
            </p>
            <p>&nbsp;</p>
            </td>
          </tr>
        </table>
        
      </form>
    vorrei che venisse mostrato il risultato della moltiplicazione del campo crediti con la voce selezionata dal menu select con id costomensa. Però prendendo il secondo fattore da parte dall'etichetta della option.
    quindi se una delle option è <option value="1">3,5 - lettera</option>
    prendere come secondo fattore solo il 3,5.
    È possibile?

  8. #8
    codice:
    <form method="post" name="form1" id="form1">
        <table align="center">
          <tr valign="baseline">
            <td nowrap="nowrap" align="right">Cognome:</td>
            <td><input type="text" name="Cognome" size="32" /></td>
          </tr>
          <tr valign="baseline">
            <td nowrap="nowrap" align="right">Nome:</td>
            <td><input type="text" name="Nome" size="32" /></td>
          </tr>
          <tr valign="baseline">
            <td nowrap="nowrap" align="right">Card:</td>
            <td><input type="text" name="card" size="32" /></td>
          </tr>
          <tr valign="baseline">
            
            <td>
    <input name="crediti" id="crediti" placeholder="Valore da moltiplicare"
     onKeyup="document.querySelector('#result').value=Number(this.value)*Number(document.querySelector('#costomensa').dataset.price)"><br></td>
    
          <tr valign="baseline">
            <td nowrap="nowrap" align="right">mensa:</td>
            <td><select name="costomensa" id="costomensa">
              <option value="1" data-price="3.5">3,5 - lettera</option>
              <option value="2" data-price="5">5 - allega</option>
              <option value="3" data-price="2">2 - Sura</option>
            </select></td>
          </tr>
          <
              <input type="submit" value="Aggiorna" />
            </p>
            <p>&nbsp;</p>
            </td>
          </tr>
        </table>
        
      </form>

    Nota che nel tag select, anzi nei tags option, ho usato un data-attribute che contiene il prezzo espresso usando il punto come separatore dei decimali.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    grazie mille! Sono sicuro sia la trovata giusta il data-attribute.
    Per ora però come risultato dà Not a Number NaN.
    Cioè non riconosce numero il valore della option. Come separatore decimale c'è il punto.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    è impossibile?
    grazie

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.