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

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2015
    residenza
    roma
    Messaggi
    10

    Aiuto per avere 2 value in output da una selzione in text box

    Salve,
    Avrei bisogno di aiuto ho creato un tex box con questi comandi:
    Inizio codice:
    <td valign="top"><p> Materiale</p>
    <p>
    <select name="valoreuno" size="1" id="number" style="width:300px" >
    <option value="1500">Acciai &lt; 125 HB &lt; 0,25 &lt; Fe37-3 C15C16 C20C21 C16 FeE390KG 55Si8 </option>
    <option value="1770">Acciai &lt; 190 HB &lt; 0,25 &lt; Fe37-3 C15C16 C20C21 C16 FeE390KG 55Si8</option>
    <option value="4330">temprati &lt; 60 HRc &lt; 0,25 &lt; X110CrMoV15 </option>
    </select>
    <script>
    function stampaValore(valore) {
    document.getElementById("number").value = valore;
    }
    </script>
    </p>
    Fine Codice

    Cosi facendo mi esce un menu a tendina dove posso scegliere.

    A me ora interessa fare uscire 2 valori dalla selezione ad esempio dalla prima selzione 1500 e 0,25
    dalla seconda 1770 e 0,25 dalla terza 4330 0,25.
    Questo diciamo è il primo passo è possibile allora da una selezione far uscire due value in output

    Grazie

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, non è molto chiaro, stai parlando di un elemento select, non capisco cosa c'entri il text box. Forse mi sto perdendo qualcosa ma cerco di interpretare la tua richiesta.
    è possibile allora da una selezione far uscire due value in output
    Non puoi farlo direttamente ma, se vuoi ottenere più dati da una selezione sull'elemento select, potresti inserirli sempre all'interno del value (di ogni option), suddividendoli opportunamente con un carattere separatore, secondo una tua convenzione (ad esempio un ";"), e a quel punto, attraverso JavaScript, separarli con la funzione split(), la quale ti restituisce un array di dati che potrai usare come meglio credi.

    Un esempio (puramente dimostrativo):
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <style type="text/css">
          body{
            font: 12px/1.5em "Lucida Grande",Tahoma,Verdana,sans-serif;
          }
          table{
            margin-top: 50px;
            border-collapse: collapse;
          }
          caption{
            font-weight: bold;
            background: navy;
            color: white;
          }
          table, th, td, caption{
            padding: 0 5px;
            border: 1px solid gray;
          }
          table th{
            font-size: 9px;
            text-align: right;
            background: gainsboro;
          }
          td{
            width: 100px;
          }     
        </style>
      </head>
      <body>
        Materiale: 
        <select name="valoreuno" id="materiale" style="width:300px" >
          <option value="">- Seleziona -</option>
           <option value="1500;0,25;125 HB">Acciai &lt; 125 HB &lt;  0,25 &lt; Fe37-3 C15C16 C20C21 C16 FeE390KG 55Si8</option>
           <option value="1770;0,25;190 HB">Acciai &lt; 190 HB &lt;  0,25 &lt; Fe37-3 C15C16 C20C21 C16 FeE390KG 55Si8</option>
          <option value="4330;0,25;60 HRc">temprati &lt; 60 HRc &lt; 0,25 &lt; X110CrMoV15</option>
        </select>
        <table>
          <caption>Caratteristiche</caption>
          <tr><th>Durezza</th><td id="durez"></td></tr>
          <tr><th>Forza di taglio [N/mm²]</th><td id="forza"></td></tr>
          <tr><th>Avanzamento al dente [mm/z giro]</th><td id="avanz"></td></tr>
        </table>
        <script>
          document.getElementById("materiale").onchange = mostraCaratteristiche;
          document.getElementById("materiale").onchange();
          
          function mostraCaratteristiche() {
            var dati = this.value.split(';');
            var forza = dati[0]||'—';
            var avanz = dati[1]||'—';
            var durez = dati[2]||'—';
            
            document.getElementById("forza").innerHTML = forza;
            document.getElementById("avanz").innerHTML = avanz;
            document.getElementById("durez").innerHTML = durez;
          }
        </script>
      </body>
    </html>
    Se non risponde alla tue esigenze, ti invito a riformulare meglio la richiesta fornendo maggiori dettagli.

    PS: per postare del codice sul forum è opportuno usare gli appositi tag di formattazione (vedi il regolamento tra i post in evidenza di questa sezione del forum).
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2015
    residenza
    roma
    Messaggi
    10
    Grazie per aver risposto forse avendo ancora poche conoscenze a riguardo metto termini sbagliati in mezzo... Se fai partire il programma così come l'ho postato io ti esce un menù a tendina ( qui semplicemente devo scegliere il materiale tipo acciaio) dalla selezione devono uscire 2 valori uno è il kc11 o per capirci meglio il 1500 e l'altro è mc o meglio 0,25 questi due valori io li devo inserire in una formula tipo:
    kc= kc11 * hm^-mc

    questa formula sono riuscita a scriverla ora dalla selezione del menù a tendina devono uscire due valori :
    es 1500(kc11) e mc(0,25)
    che poi devono essere inseriti nella formula. Scusami se non sono tanto chiaro però se pensi che non sono riuscito ancora a spiegarmi ti faccio qualche altro esempio grazie dell'aiuto

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Bene, allora avevo capito. Se guardi meglio l'esempio che ti ho postato, risponde alla tua richiesta. Chiaramente devi adattarlo alle tue esigenze ma l'importante è capire il concetto di funzionamento, in particolare l'uso della funzione split().
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2015
    residenza
    roma
    Messaggi
    10
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Bene, allora avevo capito. Se guardi meglio l'esempio che ti ho postato, risponde alla tua richiesta. Chiaramente devi adattarlo alle tue esigenze ma l'importante è capire il concetto di funzionamento, in particolare l'uso della funzione split().
    Grazie mille quindi i valori in uscita se prendo in considerazione esempio che hai fatto saranno 3:
    forza , avanz e durez. Quindi questi sono i miei value? e nel caso dovessi richiarmarli in una formula tipo:
    codice:
    <form name="Prodotto2">
    <p>Forza di taglio
    <p><input name="risultato" value="0">
    <p><input type="button" value="Risultato!" onClick=
    "Prodotto2.risultato.value= (forza* Math.pow(Number(Prodotto1.risultato.value),(-avanz)))">
    </form>
    ma secondo me sbaglio a richiamarli grazie per l'aiuto
    Ultima modifica di zorekes; 16-12-2015 a 12:56 Motivo: per avere ulteriori info e non pubblicare un ulteriore post

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Sì, nell'esempio ho messo tre dati per ogni option, per farti capire che il sistema è comunque estensibile. Chiaramente puoi adeguarlo per due soli dati impostando opportunamente le variabili che ti serve utilizzare.

    e nel caso dovessi richiarmarli in una formula tipo
    Una volta che hai messo i dati nelle tue variabili, potrai utilizzarle dove meglio ti pare. Chiaramente devi assicurarti che tali variabili siano effettivamente disponibili e valorizzate.

    Nel mio esempio ho applicato una funzione sull'onchange dell'elemento select, ma se ti serve recuperare i dati al click su un pulsante, allora ti conviene richiamare la funzione da quel relativo onclick.

    Lascio fare ancora qualche prova a te.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2015
    residenza
    roma
    Messaggi
    10
    Non riesco ho provato tutto il giorno forse non definisco la variabile non gli do un valore provo ad inserire nella formula tutte le possibili combinazioni ma nulla o mi esce zero o NaN sbaglio qualcosa

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2015
    residenza
    roma
    Messaggi
    10
    questo è quello che ho fatto ma non mi esce nulla

    codice:
    <title>Potenza netta richiesta</title><form name="Prodotto">
    Profondita di taglio assiale ap
    <p><input name="operando1" >
    
    
    <p>Avanzamento Tavola vf
    <p><input name="operando2" >
    
    
    <p>Angolo di registrazione kr
    <p><input name="operando4" >
    
    
    <p>Profondita di taglio radiale ae
    <p><input name="operando5" >
    
    
    <p>Avanzamento per dente fn
    <p><input name="operando6" >
    
    
    <p>Diametro fresa Dcap
    <p><input name="operando7" >
    
    
    <!-- Numero 3 inserisco Qua dentro il valore che fuoriesce dalla Numero 2 o meglio la forza di taglio -->
    <p>Materiale Kc1
    <p><input id="number" value="" name="valoreuno">
    
    
    <p>Potenza netta richiesta Pc
    <p><input name="risultato" value="0">
    <p><input type="button" value="Risulato!" onClick=
    "Prodotto.risultato.value=(Number(Prodotto.operando1.value)* Number(Prodotto.operando2.value)* Number(Prodotto.operando5.value)* Number(Prodotto2.risultato.value)) * (1/48000000)">
    </form>
    
    
    <!-- Numero 1 mi calcolo Questa formula non deve dare il risultato in output ma deve essere nascosta -->
    <form name="Prodotto1">
    <p>Spessore medio del truciolo hm
    <p><input name="risultato" value="0">
    <p><input type="button" value="Risultato!" onClick=
    "Prodotto1.risultato.value=((360)* (Math.sin(Number(Prodotto.operando4.value)*3.14/180))* Number(Prodotto.operando5.value)* Number(Prodotto.operando6.value))/((3.14) * Number(Prodotto.operando7.value)* ((Math.acos((1)-((2)* (Number(Prodotto.operando5.value)/(Number(Prodotto.operando7.value))))))*(180/3.14))) ">
    </form>
    
    
    <!-- Numero 2 mi calcolo Questa formula non deve dare il risultato in output ma deve essere nascosta QUI DENTRO INSERISCO I VALORI DEL SELECT CHE SCELGO DALLA SELEZIONE
    RISPETTIVAMENTE kc1(forza) e mc(avanz)
     Forza di taglio Kc= (Kc1 x hm^-mc)
                                Forza di taglio specifica Kc1;
                                Spessore medio del truciolo hm;
                                coeff. cm;-->
    <form name="Prodotto2">
    <p>Forza di taglio Kc
    <p><input name="risultato" value="0">
    <p><input type="button" value="Risultato!" onClick=
    "Prodotto2.risultato.value= (forza* Math.pow(Number(Prodotto1.risultato.value),(-avanz)))">
    </form>
    
    
    
    
    <!-- Questo è l'esempio che mi hai fornito, ed io l'ho modificato come servirebbe a me, ma l'unica cosa 
    quando scelgo non mi deve stampare nulla in nessuna tabella (ma avere tutto nascosto), ma semplicemente prendere il valore
    KC11 ed il valore mc ed inserire nella formula Numero 2 (nel mio caso kc11=forza, e mc=avanz) -->
    
    
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Tabella Forza di taglio</title>
        <meta charset="utf-8">
        <style type="text/css">
          body{
            font: 12px/1.5em "Lucida Grande",Tahoma,Verdana,sans-serif;
          }
          table{
            margin-top: 50px;
            border-collapse: collapse;
          }
          caption{
            font-weight: bold;
            background: navy;
            color: white;
          }
          table, th, td, caption{
            padding: 0 5px;
            border: 1px solid gray;
          }
          table th{
            font-size: 9px;
            text-align: right;
            background: gainsboro;
          }
          td{
            width: 100px;
          }     
        </style>
      </head>
      <body>
        Materiale: 
        <select name="valoreuno" id="materiale" style="width:300px" >
          <option value="">- Seleziona -</option>
           <optgroup label="Acciai">
    <option value="1500;0.25;125 HB">ricottura     Acciai non legati                &lt;         Fe37-3    C15C16    C20C21    C16    FeE390KG    55Si8    </option>                                
    <option value="1770;0.25;190 HB">bonifica    Acciai non legati                &lt;        Fe37-3    C15C16    C20C21    C16    FeE390KG    55Si8</option>
    <option value="1700;0.25;190 HB">ricottura     Acciai non legati                &lt;        C35    C45    C28Mn    C36    C45    C53    C55    C50    Fe52BFN    Fe52    </option>                
    <option value="4330;0.25;60 HRc">ricottura    Materiali temprati                                             &lt;        X110CrMoV15            </option>                                            
        </select>
        <table>
          <caption>Caratteristiche</caption>
          <tr><th>Durezza</th><td id="durez"></td></tr>
          <tr><th>Forza di taglio specifica [N/mm<sup>2</sup>]</th><td id="forza"></td></tr>
          <tr><th>m<sub>c</sub></th><td id="avanz"></td></tr>
          </table>
        <script>
          document.getElementById("materiale").onchange = mostraCaratteristiche;
          document.getElementById("materiale").onchange();
          
          function mostraCaratteristiche() {
            var dati = this.value.split(';');
            var forza = dati[0]||'-';<!--  questo è il mio Kc11 -->
            var avanz = dati[1]||'-';<!--  questo è il mio mc, che poi nel calcolo diventerà un numero negativo -->
            var durez = dati[2]||'-';<!--  questo per ora non mi serve -->
            
            document.getElementById("forza").innerHTML = forza;
            document.getElementById("avanz").innerHTML = avanz;
            document.getElementById("durez").innerHTML = durez;
            
                  }
        </script>
      </body>
    </html>
    Ho lasciato dei commenti all'interno del codice per capire meglio cosa voglio ottenere, ma per ora tutto vano. Ho diverse lacune mi sa, diciamo che vedendo su internet sto approcciando alla programmazione, ma ora ho qualche intoppo di troppo.
    Grazie per un eventuale aiuto
    Ultima modifica di zorekes; 17-12-2015 a 14:28

  9. #9
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ok. Prima di andare avanti sarebbe utile chiarire qualche punto.

    1. In generale è consigliabile separare nettamente lo script dalla struttura html (cosiddetta tecnica del JavaScript non intrusivo). Non è una regola ma è una buona pratica di programmazione. Quindi eliminerei i gestori di evento come attributi e li definirei direttamente da script (vedi il mio esempio). In qualunque caso, anche impostandoli come attributi, è sempre meglio farli puntare ad una funzione piuttosto che riempire i tag html di script.

    2. Non capisco perché definisci più form nella tua pagina. In particolare non vedo proprio la necessità di usare form in questo caso, a meno che i relativi dati non debbano essere poi inviati a qualche script lato server. Gli elementi input non devono necessariamente essere inseriti in un form. In questo caso credo non ce ne sia bisogno.

    3. Non capisco perché vuoi che i diversi risultati siano mostrati attraverso il click sui singoli pulsanti. Non converrebbe mostrare direttamente tutti i risultati in modo automatico tenendo conto di tutti gli input impostati dall'utente, o comunque usando un unico pulsante?

    In qualunque caso, quegli stessi valori che io ho "memorizzato" nelle relative variabili (nel mio esempio, sull'evento onchange), puoi recuperarli con lo stesso metodo per utilizzarli nelle tue formule. Nel mio esempio ho utilizzato this, che si riferisce all'oggetto a cui è associata quella determinata funzione, ma chiaramente nel tuo caso dovrai riferirti esplicitamente all'elemento select da cui andrai a recuperare i valori. Per identificare quell'elemento, se usi un form puoi utilizzare il percorso con i nomi degli elementi (come già hai fatto) o, diversamente, usare il metodo getElementById o sistemi analoghi.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2015
    residenza
    roma
    Messaggi
    10
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Ok. Prima di andare avanti sarebbe utile chiarire qualche punto.

    1. In generale è consigliabile separare nettamente lo script dalla struttura html (cosiddetta tecnica del JavaScript non intrusivo). Non è una regola ma è una buona pratica di programmazione. Quindi eliminerei i gestori di evento come attributi e li definirei direttamente da script (vedi il mio esempio). In qualunque caso, anche impostandoli come attributi, è sempre meglio farli puntare ad una funzione piuttosto che riempire i tag html di script.
    Scusami ti ringrazio tanto che mi stia dando una mano, ma per gestori di evento come attributi? quali sono non riesco a distingue questa cosa... lo script che hai fatto tu ho provato a modificarlo ma poi inzio a perdermi appena voglio richiamare e fare operazioni... anche se oggi mi so messo a studiare un pò gli array....

    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    2. Non capisco perché definisci più form nella tua pagina. In particolare non vedo proprio la necessità di usare form in questo caso, a meno che i relativi dati non debbano essere poi inviati a qualche script lato server. Gli elementi input non devono necessariamente essere inseriti in un form. In questo caso credo non ce ne sia bisogno.
    questo l'ho visto fare come esempio, alla fine a me serve che l'utente che si colleghi in questa pagina inserisca i valori ed abbia un risultato

    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    3. Non capisco perché vuoi che i diversi risultati siano mostrati attraverso il click sui singoli pulsanti. Non converrebbe mostrare direttamente tutti i risultati in modo automatico tenendo conto di tutti gli input impostati dall'utente, o comunque usando un unico pulsante?
    non è detto che i diversi risultati siano mostrati da un click ma è l'unico modo che so fare per questo dicevo che sto all'inizio e dovrei finire per lunedi ma la vedo dura....

    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    In qualunque caso, quegli stessi valori che io ho "memorizzato" nelle relative variabili (nel mio esempio, sull'evento onchange), puoi recuperarli con lo stesso metodo per utilizzarli nelle tue formule. Nel mio esempio ho utilizzato this, che si riferisce all'oggetto a cui è associata quella determinata funzione, ma chiaramente nel tuo caso dovrai riferirti esplicitamente all'elemento select da cui andrai a recuperare i valori. Per identificare quell'elemento, se usi un form puoi utilizzare il percorso con i nomi degli elementi (come già hai fatto) o, diversamente, usare il metodo getElementById o sistemi analoghi.
    getElementById devo provare, alla fine un valore che serve a me tipo HM (prima formula) lo dovrei richiamare nella seconda formula KC(dove in questa formula appaiono poi i due valori che grazie a te separiamo dal select... sto proprio in panne...grazie della tua disponibilità comunque ti posto quello che dovrei ottenere come risultato finale
    http://www.walter-tools.com/SiteColl...dex-bakup.html

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.