2016-06-18 3 views
0

Ich versuche, ein Formular zu machen, die, wenn ich auf die Schaltfläche zum Senden die Informationen aus den Formularfeldern zu senden Javascript-Funktion und zeigen Sie dann die Ergebnisse für den Benutzer. Ich habe so etwas zuvor gemacht, das ist sehr ähnlich und funktioniert gut, aber aus irgendeinem Grund tut dies nichts, wenn ich auf "Senden" klicke. Ich muss etwas verpasst haben. Hier ist der Code:Ich habe ein Formular mit der Schaltfläche Senden mit JavaScript-Funktion verknüpft, aber nichts passiert, wenn ich auf die Schaltfläche zum Senden klicken

<!doctype html> 
<html> 
<head> 
    <meta charset="UTF-8" > 
    <title>Javascript Form</title> 
</head> 

<body> 

<form id="formID" name="myform" action="" method="get"> 

    Customer Name: 
    <input type="text" name="names" value=""> 
    <br/> 

    Street Address: 
    <input type="text" name="street" value=""> 
    <br/> 

    City: 
    <input type="text" name="city" value=""> 
    <br/> 

    State: 
    <input type="text" name="state" value=""> 
    <br/> 

    Zip Code: 
    <input type="text" name="zip" value=""> 
    <br/> 

    Beginning Odometer Reading: 
    <input type="text" name="beginO" value=""> 
    <br/> 

    Ending Odometer Reading: 
    <input type="text" name="edinO" value=""> 
    <br/> 

    Number of Days Car was Used: 
    <input type="text" name="days" value=""> 
    <br/> 

    <input type="button" name="button" value="Submit" onClick="car(this.form)"> 
</form> 

<script type="text/javascript"> 
    function car(form) { 
     var names = form.names.value; 
     var street = form.street.value; 
     var city = form.city.value; 
     var state = form.state.value; 
     var zip = form.zip.value; 
     var beginO = form.beginO.value; 
     var endO = form.endO.value; 
     var days = form.days.value; 

     var miles = endO - beginO; 
     var charge = days * 15 + miles * 0.12; 

     alert("Miles driven: " + miles + ". Charge: " + charge + ". Name: " + names + ". Address : " + street + " , " + city + " " + state + " " + zip + ". "); 
    } 
</script> 
</body> 
</html> 

Antwort

3

Es ist, weil Sie einen JavaScript-Fehler in dieser Zeile haben:

var endO = form.endO.value; 

Sie haben einen Tippfehler in Ihrem Formular Elementname:

<input type="text" name="edinO" value=""> 

form.endO nicht definiert ist, also bekommt value einen Fehler.

+0

danke, ich glaube, ich habe gerade zu lange darauf gestarrt, um zu sehen, was genau vor meinem Gesicht war. –

Verwandte Themen