2016-07-15 7 views
-2

Mit der folgenden Funktion möchte ich einen Text nach einem aumatisch berechneten Wert (durch eine andere Funktion) erscheinen lassen. Alle Berechnungen werden ordnungsgemäß durchgeführt, aber der Text wird nicht angezeigt. HierHalb funktionierende Javascript-Funktion @LGSon

ist der HTML-Kontext

<tr> 
    <td>VALUTAZIONE INIZIALE</td> 
    <td id="tota2" onchange="tota3()"></td> 
    <td id="tota3"></td> 
</tr> 

Und hier ist der Zusammenhang mit Javascript-Funktion:

function tota3() { 
    var x = parseInt(document.getElementById('tota2').value); 
    var y = document.getElementById('tota3'); 

    y.style.display = 'block'; 

    if (x >= 15){ 
     y.innerHTML = "RISCHIO BASSO"; 
    } 
    else if (x < 15){ 
     y.innerHTML = "RISCHIO MODERATO"; 
    } 
    else if (x < 11){ 
     y.innerHTML = "RISCHIO ALTO"; 
    } 
    else if (x < 6){ 
     y.innerHTML = "RISCHIO ALTISSIMO"; 
    } 
    else{ 
     y.innerHTML = "NaN'; 
    } 
} 
+0

"All die Berechnung werden richtig gemacht" - Was Sie denken, dass macht? Sie versuchen, die Funktion von einem onchange-Ereignis auf einer td (die keine hat) aufzurufen und dann den Wert einer td (die keine hat) zu lesen. Td-Elemente sind keine Eingaben. – Quentin

+0

'onchange' funktioniert nur bei TextBox, Radio/Check Box und Select List. Aber nicht auf "td". – str

+0

Ich habe die letzte HTML-Zeile einer langen Tabelle veröffentlicht. Die Berechnung in Bezug auf diese Tabelle funktioniert einwandfrei. Das einzige, was nicht in Ordnung ist, ist der Text (RISCHIO usw.), der angezeigt werden sollte, sobald ein bestimmtes Ergebnis erhalten wurde. –

Antwort

0

1) Änderung:

y.innerHTML = "NaN'; 

An:

y.innerHTML = "NaN"; 

2) Tag-Tabelle in Code einfügen.

ich es beheben und ändern andere sometings:

<html> 
 
    <head> 
 
    </head> 
 
    <body> 
 
     <table> 
 
     <tr> 
 
      <td>VALUTAZIONE INIZIALE</td> 
 
     <td oninput="tota3()"><input id="tota2" type="text" size="5"></td> 
 
     <td id="tota3"></td> 
 
     </tr> 
 
     </table> 
 
     <script> 
 
      function tota3() { 
 
       var txt = document.getElementById('tota2'); 
 
      var x = parseInt(txt.value); 
 
       var y = document.getElementById('tota3'); 
 
       y.style.display = 'block'; 
 
       if (x >= 15) 
 
        y.innerHTML = "RISCHIO BASSO"; 
 
       else 
 
        if (x < 6) 
 
        y.innerHTML = "RISCHIO ALTISSIMO"; 
 
      
 
       else 
 
        if (x >=6 && x < 11) 
 
        y.innerHTML = "RISCHIO ALTO"; 
 
        
 
       else 
 
        if (x >= 11 && x < 15) 
 
        y.innerHTML = "RISCHIO MODERATO"; 
 
       
 
       else 
 
        y.innerHTML = "NaN"; 
 
       
 
      } 
 

 
     </script> 
 
    </body> 
 
</html>

+0

treten Danke @ehsan, aber ich möchte eine Seite ohne Schaltflächen erstellen. Gibt es eine Alternative? –

+0

@NathanMantovani, ja, ich aktualisiere es.use Text in td.check meine Antwort erneut. – Ehsan

+0

@eshan Vielleicht habe ich die Situation nicht deutlich genug erklärt. die td id = "tota2" in td id = "tota2" onchange = "tota3()"> ist das Ergebnis einer vorherigen Berechnung. Es benötigt kein Eingabe-Tag. Ich möchte nur den Text in id = "tota3" ändern nach der oben genannten Summe –

Verwandte Themen