Ich suche nach korrektem Code, so dass die Funktion namens "finder()" ausgeführt werden kann und den höchsten Wert in Array namens "sum" findet. Wenn Sie auf die Schaltfläche "Find Max" klicken, lautet das Ergebnis: "[object HTMLInputElement]" Vielen Dank für Ihre Hilfe! Hier ist Code:Wie finden Sie den größten Wert von Elementen in dieser Art von Array?
<html>
<head>
<title>Max</title>
<meta charset="utf-8">
<script type="text/javascript">
var sum = document.getElementsByName('addends');
function add() {
var x = document.getElementById('apendiks');
x.innerHTML+="<br/><input type='text' name='addends' size='7'>";
}
function finder() {
var max = sum[0];
for(i=0; i<sum.length;i++){
if(sum[i] > max){
max = sum[i];
}
}
document.getElementById('showMaxValue').innerHTML = max;
}
function gather() {
var total=0;
for(i=0; i < sum.length; i++){
total+=parseFloat(sum[i].value);
}
document.getElementById('score').innerHTML = total;
}
</script>
</head>
<body>
<p><input type="button" onclick="add()" value="Add a new box"> </p>
<p><input type="button" onclick="" value="-"> </p>
<div id="apendiks"></div>
<p><input type="button" onclick="gather()" value="Total sum"> </p>
<p>Score: <b id="score"></b></p>
<p><input type="button" onclick="finder()" value="Find max"> </p>
<p id="showMaxValue"></p>
</body>
</html>
was, wenn ich '398 eingegeben bekommen 49 fdr' in das Textfeld ''addends''? – RomanPerekhrest
Sum [] ist ein Array von HTML-Eingabeobjekten. Ich denke, Sie versuchen, den Wert aus der Eingabe zu erhalten, aber stattdessen vergleichen Sie Eingabeelemente miteinander anstelle des Werts, den sie enthalten. – klog
Mehrere Probleme ... siehe http://stackoverflow.com/questions/14028959/why-does-jquery-or-dom-method-such-as-geelementbyid-not-find-the-element – charlietfl