2011-01-04 9 views
3

ich diese Form haben:Form Vorlage

<form id="basicTerms" method="post" onsubmit="return validateForm()"> 

und die Funktion im onsubmit unter:

function validateForm() 
{ 
    return false; 
} 

Ich habe dies getan, um das Formular zu testen, und wenn ich Enter oder klicken Sie auf Auf einer Schaltfläche in dem Formular, das die Formular-Übermittlungsaktion auslöst, wird das Formular übergeben und auf die nächste Seite verschoben.

Ich habe auch diese Tasten in der Form:

<tr> 
    <td align="left"><button style="background-color:#FF80FF" onclick="javascript:document.getElementById('basicTerms').action='helpFile1.php'; document.getElementById('basicTerms').submit()" tabindex="6">Go Back</button></td> 
    <td align="center"><button style="background-color:#FFC080" onclick="javascript:document.getElementById('basicTerms').action='helpFile2.php'; document.getElementById('basicTerms').submit()" tabindex="4">Lets Go To Step 2</button></td5> 
    <td align="right"><button style="background-color:#00FF00" onclick="printThis()" tabindex="5">Print</button></td> 
</tr> 

Ich möchte wissen, warum die Formen trägt, auch wenn ich ein falsches in onsubmit zurückzukehren.

Ich habe das Formular auf Google Chrome und FireFox getestet, beide gaben das gleiche Ergebnis. Außerdem teste ich auf localhost WAMP: Apache2.2.11, PHP5.3.0.

+2

Try 'type = "button"', um Ihre Schaltfläche Hinzufügen von Tags. Sonst glaube ich, dass sie standardmäßig Schaltflächen übermitteln. – Cfreak

+0

@Cfreak: Bitte posten Sie diesen Kommentar als Antwort, so dass ich es wählen kann. – sikas

+0

erledigt. Ich dachte, es könnte funktionieren, aber ich war mir nicht 100% sicher :-D – Cfreak

Antwort

4

Versuchen Sie, type="button" zu Ihren Button-Tags hinzuzufügen. Sonst glaube ich, dass sie standardmäßig Schaltflächen übermitteln.

(als Antwort hinzugefügt, da es als Lösung gearbeitet)

+0

Sie haben den Tag gespeichert: D ... Da ich mehrere Tasten habe und jede eine bestimmte Aktion ausführt, sollte das Formular nicht so funktionieren wie auf der Eingabetaste, und durch diese Lösung hast du mir ein anderes Problem gelöst. Also noch ein +1 (ich wünschte ich könnte es machen: D) – sikas

2

Ein Aufruf von Form .submit() löst nicht das submit-Ereignis, validateForm() werden ignoriert.

+0

OK, aber selbst wenn ich die Eingabetaste in einem Textfeld in dem Formular drücke, das es gerade übermittelt! – sikas

+0

je nach Browser (zB in FireFox & Opera) kann die Verwendung von [ENTER] einen Klick auf den ersten Submit-Button auslösen, form.submit() wird aufgerufen und so weiter. –

+0

Cfreak hat einen Kommentar zu meinem Beitrag geschrieben, der das Problem gelöst hat. – sikas