Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Duplicare un valore di un input in altri campi javascript

    Salve a tutti premetto che non sono molto esperto con javascript.
    Vorrei realizzare una semplicissima funzione che immesso un numero in un campo di input moltiplichi le quantità altri input per questo numero
    Ho un form cosi fatto:
    codice:
    <table>
    <tr>
    <td>Fattore di moltiplicazione per la variante blu</td>
    <td><input type="text" value="0" onblur="copiavalore(this.value,blu);"></td>
    </tr>
    <tr>
        <td>Blu 1</td>			
        <td><input type="text" name="pezzi[]" value="70" id="blu"></td>
    </tr>
    <tr>
        <td>Blu 2</td>			
        <td><input type="text" name="pezzi[]" value="70" id="blu"></td>
    </tr>
    </table>
    Lo script è cosi fatto:
    codice:
    <script type="text/javascript">
    function copiavalore(valore,campo) {
     elem = document.getElementById(campo);
     elem = elem*valore;
    }
    </script>
    Dove sbaglio?
    Grazie mille

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    codice:
    <script type="text/javascript">
    function copiavalore(valore,campo) {
     elem = document.getElementById(campo);
     elem.value = elem.value*valore;
    }
    </script>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Ho provato sia come mi hai suggerito e sia con:

    codice:
    <script type="text/javascript">
    function copiavalore(valore,campo) {
     elem = document.getElementById(campo);
     document.form.elem.value = elem.value*valore;
    }
    </script>
    Ma niente. Il problema potrebbe essere on Blur non supportato da Chrome per esempio?
    Ho provato anche con IE ma nulla

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Appena provato e funziona. Immettere 10 in Pippo, 2 in T e uscire da T.

    codice:
    <script type="text/javascript">
    function copiavalore(valore,campo) {
     elem = document.getElementById(campo);
     elem.value = elem.value*valore;
    }
    </script>
    
    Pippo:<input type="text" id="pippo">
    
    T:<input type="text" id="t" onblur="copiavalore(this.value,'pippo')">
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Gli id="blu" devono essere univoci
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Originariamente inviato da badaze
    Appena provato e funziona. Immettere 10 in Pippo, 2 in T e uscire da T.

    codice:
    <script type="text/javascript">
    function copiavalore(valore,campo) {
     elem = document.getElementById(campo);
     elem.value = elem.value*valore;
    }
    </script>
    
    Pippo:<input type="text" id="pippo">
    
    T:<input type="text" id="t" onblur="copiavalore(this.value,'pippo')">
    Ho provato anche io a fare un esempio simile e funziona.
    Questo è il mio codice

    codice:
    <script type="text/javascript">
    function copiavalore(valore,campo) {
     elem = document.getElementById(campo);
     elem.value = elem.value*valore;
    }
    </script>
    <form action="" method="post" name="form">
    Fattore di moltiplicazione BOX per la variante
    <select onChange="copiavalore(this.value,'Blu')"><option value="5">5</option><option value="7">7</option></select>
    <input type="text" class="l_10_b_n" name="pezzi[]" value="8" id="Blu">
    <input type="text" class="l_10_b_n" name="pezzi[]" value="8" id="Blu">
    Cosi facendo modifica solo il primo campo ma a me serve definirli in questo modo e soprattutto che il name sia un array... Provo ad ipotizzare una soluzione e la posto.

  7. #7
    Diciamo che avrei risolto vi posto il codice completo con il php.
    Questo è il javascript
    codice:
    <script type="text/javascript">
    function copiavalore(valore,start,end) {
    while(start<=end) {
    	alert(valore);
    	alert(start);
    	alert(end);
     elem = document.getElementById(start);
     elem.value = elem.value*valore;
    start++;
    }
    }
    </script>
    Questo il codice della pagina:
    Codice PHP:
    <form action="" method="post" name="form">
    <table width="80%" cellpadding="2" cellspacing="1">
    <tr bgcolor="#ECECEC" class="l_10_r_n" align="center">
        <td align="center">Articolo</td>
        <td align="center">Variante</td>
        <td align="center">Taglia</td>
        <td align="center">Pezzi</td>
        <td align="center">Prezzo</td>
        <td align="center">Sconto</td>
        <td align="center">Percentuale agente</td>
        <td align="center">Unit&agrave; di magazzino</td>
    </tr>
    <?
    $variante 
    '';
    $stampate_variante=0;
    $dati=mysql_query("SELECT * FROM varianti WHERE id_prodotto = '$key_id' ORDER BY variante");
    while(
    $array=mysql_fetch_array($dati)) {
     
    $stampate_variante++;
    if(
    $array[variante]!=$variante) { $variante $array[variante];  ?>
    <tr class="l_10_b_n" bgcolor="#ECECEC">
    <td colspan="4">Fattore di moltiplicazione BOX per la variante [b]<? echo $array[variante]; ?>[/b]</td>
    <td colspan="4" bgcolor="#fff6de"><input value="0" class="l_10_b_n" onBlur="copiavalore(this.value,'<? echo $stampate_variante?>','<? echo (tot_variante($key_id,$array[variante]))+($stampate_variante-1); ?>');"></td>
    </tr>
    <? ?>
        <tr class="l_10_b_n" bgcolor="#fff6de">
        <td align="center"><? echo ordine_nome_prodotto($array[id_prodotto]);?></td>
        <td align="center"><input type="text" class="l_10_b_n" name="pezzi[]" value="1" id="<? echo $stampate_variante?>"></td>
            </tr>
    <? ?>
    continuazione pagina
    Funziona tutto alla perfezione solo che se ho più di due varianti per la terza lo script non viene caricato. Da cosa puo' dipendere? L'html risulta corretto

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.