2016-11-21 3 views
1

Ich sehe Menschen Formular erstellen Eingang:onClick funktionierte nicht im Formular? Normalerweise

<form action=""> 
<table> 
    <tr> 
     <td><label for="Fname">First Name</label></td> 
     <td><input type="text" name="Fname" class="form-control" id="fname"></td> 
    </tr> 
    <tr> 
     <td><label for="Lname">Last Name</label></td> 
     <td><input type="text" name="Lname" class="form-control" id="lname"></td> 
    </tr> 
    <tr> 
     <td><label for="address">address</label></td> 
     <td><input type="text" name="address" class="form-control" id="address"></td> 
    </tr> 
    <tr> 
     <td><label for="phone">phone</label></td> 
     <td><input type="text" name="phone" class="form-control" id="phone"></td> 
    </tr> 
    <tr> 
     <td><input type="submit" value="submit" onclick="submit();"></td> 
    </tr> 
</table> 
</form> 

Es ist meine machen Submit-Button nicht funktioniert, aber sobald ich das Formular-Tag entfernen, es ist Arbeit:

<table> 
    <tr> 
     <td><label for="Fname">First Name</label></td> 
     <td><input type="text" name="Fname" class="form-control" id="fname"></td> 
    </tr> 
    <tr> 
     <td><label for="Lname">Last Name</label></td> 
     <td><input type="text" name="Lname" class="form-control" id="lname"></td> 
    </tr> 
    <tr> 
     <td><label for="address">address</label></td> 
     <td><input type="text" name="address" class="form-control" id="address"></td> 
    </tr> 
    <tr> 
     <td><label for="phone">phone</label></td> 
     <td><input type="text" name="phone" class="form-control" id="phone"></td> 
    </tr> 
    <tr> 
     <td><input type="submit" value="submit" onclick="submit();"></td> 
    </tr> 
</table> 

Meine js nur wie folgt:

var Fname= document.getElementById("fname"); 
var Lname= document.getElementById("lname"); 
var Address= document.getElementById("address"); 
var Phone= document.getElementById("phone"); 
var Result= document.getElementById("result"); 


function submit(){ 
    var valueFname=Fname.value; 
    var valueLname=Lname.value; 
    var valueAddress=Address.value; 
    var valuePhone=Phone.value; 
    Result.innerHTML="hello, "+valueFname+" "+valueLname+" good to see you. Your contact number is "+valuePhone+" , and your address "+valueAddress; 
} 

Warum kann ich nicht alle meine Eingaben in das Formular schreiben? Braucht es zusätzlichen Code?

+1

Form Willen für Post-Daten in der Datenbank unter Verwendung von GET oder POST-Methode verwenden. – Mahi

Antwort

2

sein Make my-Taste funktioniert nicht

einreichen Nein, Ihr Submit-Button funktioniert prima. Darin liegt das Problem, das Sie tatsächlich sehen. Ihr JavaScript-Code wird ausgeführt, aber die Zeit zwischen dem Anzeigen einer Ausgabe und dem erneuten Laden der Seite, da Sie ein Formular abgeschickt haben, ist fast augenblicklich.

So funktioniert Ihr JavaScript. Und deine Form funktioniert. Funktioniert alles.

aber sobald ich das Formular-Tag seine Arbeit

Nicht ganz zu entfernen. Wenn Sie den Tag form entfernen, funktioniert die Formularübergabe nicht mehr. Sie haben lediglich verhindert, dass das Formular übermittelt wird, weil Sie kein Formular mehr haben.

Warum kann ich nicht alle meine Eingaben in Form verpacken?

Sie können. Aber es hängt wirklich davon ab, was Sie versuchen zu tun. Wenn Sie ein Formular haben und es übermitteln möchten, verwenden Sie ein form Element. Wenn Sie nichts als Formular einreichen möchten, können Sie es weglassen. Das ist der einzige Zweck.

Sie können Eingaben auf der Seite haben, wo Sie möchten, sie müssen nicht in Formularen sein. Wenn Sie nur mit JavaScript interagieren möchten, können Sie dies ohne ein form Element tun.

+0

*** Ihr JavaScript-Code wird ausgeführt, aber die Zeit zwischen dem Anzeigen einer Ausgabe und dem erneuten Laden der Seite, weil Sie ein Formular abgeschickt haben, ist fast augenblicklich. so, wie man die Ausgabe Herr zeigt. Ursache, wie Sie es fast sofort sagen – GerryofTrivia

+0

@Vandi: Ist das nicht Ihr zweites Beispiel erfolgreich? Wenn Sie die 'Form' überhaupt nicht benötigen, lassen Sie sie einfach weg. Sie * können * das Senden des Formulars verhindern (siehe diese Frage: http://stackoverflow.com/questions/8664486/javascript-code-to-stop-form-submission), aber wenn Sie das Formular nie senden möchten, dann scheint vernünftig, es überhaupt nicht zu haben. – David

+0

@vandi Sie könnten immer noch ein Formular verwenden, aber verhindern Sie es Formular senden, indem Sie die Methode auf Formular senden und false zurückgeben. https://jsfiddle.net/kpduncan/0nbjcnw7/ – thekodester

0

Formulare werden erstellt, um HTTP-Methoden (wie POST oder PUT) zu erstellen. Also, wenn Sie brauchen, dass die Informationen dieser Eingabe an einer HTTP-Methode teilnehmen, müssen Sie das Formular verwenden. Wenn Ihre Schaltfläche "Senden" nur für interne Zwecke erstellt wurde, verwenden Sie kein Formular.

Etwas mehr Informationen: enter link description here

0

Formular werden die Daten in die Datei in Aktion angegeben senden und dieses Ereignis wird von <input type="submit"/> innerhalb eines Formulars ausgelöst.

Sie können ein <button> Tag innerhalb Formular verwenden, um zu erreichen, was Sie wollen.

0

Sie müssen die Aktion für Ihr Formular festlegen, es ist leer.
Oder Sie können jQuery

+1

Hatten Sie auf eine alte Post zu stoßen, haben Sie diese http://stackoverflow.com/documentation/review/changes/123007 als Dokumentation genehmigt, lesen Sie bitte ein wenig vor der Genehmigung der Dokumentation ! Dies ist eindeutig eine Frage, und nicht in irgendeiner Art Dokumentation ... Kennzeichnen Sie diesen Kommentar als zu gesprächig, um ihn danach zu entfernen! – R3uK

+1

Hah! Ja, wahrscheinlich! ;) – R3uK

Verwandte Themen