Ich bin kein Programmierer von Beruf, also bitte halten Sie nicht meine einfache Frage gegen mich. Ich bin mir sicher, dass die Antwort einfach ist, aber ich kann es nicht herausfinden.Konvertiere Zeichenkette zu Zahl in Rechner
Ich versuche, einen Mulchrechner zu entwerfen, um auf die Website meiner Firma zu setzen. Mein Code scheint die Eingabe zu akzeptieren, gibt aber einen NaN-Wert zurück. Es wird offensichtlich zu Info in eine Zeichenfolge konvertiert, wie ich es erwartet habe. Ich habe versucht, es zurück zu einer Zahl zu konvertieren, indem ich eine 0 von meiner letzten Variable subtrahiere und parseInt auch verwende. Keine schien zu funktionieren. Wäre jemand bereit zu erklären, wie Sie dieses Problem beheben können und warum Ihre Lösung funktioniert? Ich versuche zu verstehen, was ich falsch gemacht habe.
Siehe den nachstehenden Code.
Danke.
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Mulch Calculator</h1>
<form name="calcInput" id="calcInfoInput">
The length of the area you need to cover (in feet). <input type="text" name="length"
<br></br>
<br></br>
The width of the area you need to cover (in feet). <input type="text" `enter code here`name="width"
<br></br>
<br></br>
The depth of coverage you need (in inches). <input type="text" name="depth"
<br></br>
<br></br>
</form>
<input type="submit" value="Calculate Your Mulch Needs." onclick="processForm()" name="submit">
<input type="reset" value="Clear This Form.">
</form>
<script type ="text/javascript">
function processForm()
{
var allInfo = document.getElementById ("calcInfoInput");
var bedLength = allInfo.elements["length"].value;
var bedWidth = allInfo.elements["width"].value;
var bedDepthInches = allInfo.elements["depth"].value;
var squareFeet = bedLength * bedWidth;
var bedDepth = bedDepthInches/12;
var cubicFeet = squareFeet * bedDepth;
var cubicYards = cubicFeet/27;
//cubicYards = cubicYards-0;
//cubicYards = parseInt(cubicYards, 10);
document.write('You will need at least '+ cubicYards +' cubic yards for your project.');
}
</script>
</body>
Sie müssen '0' für den Wert von "leeren" Eingänge spec. Außerdem würde eine type = Zahl netter UX liefern. – dandavis
Sie können Ihre Eingabewerte zu Ganzzahlen zwingen, indem Sie ihnen '' 'voranstellen:' + allInfo.elements ["length"]. Value' oder mithilfe von 'parseInt (allInfo.elements [" length "]. Value, 10) ; '. – Andy
Danke dandavis und Andy. Ich schätze Ihre Hilfe. –