2016-11-28 4 views
0

So verwenden Sie jQuery zum Senden des Formulars, wenn Sie die Eingabetaste drücken, aber durch Klicken auf die zweite Übergabeschaltfläche gesendet werden. Also das erste Senden ignoriert.Formular mit mehreren Übergabeschaltflächen senden

<form method="post" action=""> 
    <input type="text" name="inp"> 
    <input type="submit" name="first" value="first"> 
    <input type="submit" name="second" value="second"> 
</form> 
+1

Ich bin mir nicht sicher, warum Sie die erste Schaltfläche senden, wenn es das Formular nicht senden wird. – Steve

+0

Wie ich Ihre Frage verstehe, ist dies bereits der Fall. Durch Drücken der Eingabetaste wird die erste Taste verwendet. Klicken Sie auf den zweiten, dann wird der zweite verwendet/eingegeben –

+0

Ich denke, Sie brauchen nicht zuerst absenden Schaltfläche und nur Google Trigger Ereignisschlüssel beim Drücken und Sie bekommen eine Menge Dinge zu lesen http: // stackoverflow. com/questions/18160342/jquery-how-to-trigger-klick-event-on-pressing-enter-key. – rockStar

Antwort

0

könnten Sie fangen die Taste drücken Sie die Eingabetaste, und anstelle der Standardaktion auszuführen die erste Schaltfläche Aktion einreichen, zwingen sie die zweite auszuführen.

eine keypress Aktion innerhalb des Texteingabe Griff:

<input type="text" name="inp" onkeypress="return runScript(event)"/> 

Dann runScript Ihre Funktion definieren:

func runScript(e) { 
    if(e.keyCode == 13) { 
     //Submit action goes here 
     document.getElementsByName("second")[0].click() 
    } 
} 
0

Mein Verständnis ist, dass Sie auf jeder Schaltfläche klicken wollen das Formular abzuschicken, aber schlagen geben Sie ein, um mit der zweiten Schaltfläche zu senden.

Hier sind ein paar Optionen:

1) Ändern der Tasten

angezeigt werden, können Sie die erste Schaltfläche bewegen tatsächlich im Markup zweiten sein, aber ändern, wie es durch die Positionierung sie angezeigt wird anders. Beachten Sie, dass Sie auch den tabIndex aktualisieren sollten, wenn Sie dies tun.

.firstButton { 
 
    position: absolute; 
 
    width: 80px; 
 
} 
 

 
.secondButton { 
 
    position: absolute; 
 
    left: 90px; 
 
    width: 80px; 
 
}
<form name="theForm" method="post" action=""> 
 
    <input type="text" tabIndex='1' name="inp"> 
 
    <div> 
 
    <input type="submit" tabIndex='2' class='secondButton' name="second" value="second"> 
 
    <input type="submit" tabIndex='1' class='firstButton' name="first" value="first">  
 
    </div> 
 
</form>

2) Ändern Sie die erste Taste nicht eine Absenden-Button und handhaben manuell

function submitForm() { 
 
    document.theForm.submit(); 
 
}
<form name="theForm" method="post" action=""> 
 
    <input type="text" name="inp"> 
 
    <input type="button" name="first" value="first" onclick="submitForm()"> 
 
    <input type="submit" name="second" value="second"> 
 
</form>

Hoffnung klicken, das hilft.

Verwandte Themen