Schlagen Sie "enter" nicht-post-Formular in IE8

Ich bin mit PHP zu übergeben, login-Formular, wenn erforderlich, und hier ist der code:

$htmlForm = '<form id="frmlogin">'.'<label>';
switch(LOGIN_METHOD)
{
    case 'both':
        $htmlForm .= $ACL_LANG['USERNAME'].'/'.$ACL_LANG['EMAIL'];
        break;
    case 'email':
        $htmlForm .= $ACL_LANG['EMAIL'];
        break;
    default:
        $htmlForm .= $ACL_LANG['USERNAME'];
        break;
}                       

$htmlForm .= ':</label>'.
             '<input type="text" name="u" id="u" class="textfield" />'.
             '<label>'.$ACL_LANG['PASSWORD'].'</label>'.
             '<input type="password" name="p" id="p" class="textfield" />'.
             '<center><input type="submit" name="btn" id="btn" class="buttonfield" value="Sign in to extranet" /></center>'.
             '</form>';

return $htmlForm;

Das problem ist, ist, dass, wenn der Benutzer trifft geben Sie in IE8, wird das Formular nicht senden, und der Benutzer ist gezwungen, Sie zu schlagen, die senden-Schaltfläche.

Wie kann ich das beheben?

  • Es ist sogar noch schlimmer: Als der jQuery 1.4, meine Zuhörer an das Formular gebunden ist submit event wird ausgeführt, aber obwohl es ein true zurück, das senden klappt nicht! Dies ist Fatal, weil dieser listener deaktiviert anschließend die form zu verhindern, dass doppelte Vorlage, so dass IE-Benutzer, die EINGABETASTE zu drücken sind dann nicht in der Lage zu senden an alle. Meine Lösung ist, dass für die IE-Benutzer, wenn Sie drücken Sie die EINGABETASTE in einem Formular input, den ich zu fangen, die false zurück - nichts zu tun. Sie muss klicken Sie auf Einreichen. (Messing mit Sichtbarkeit ist keine option, da hier die form geladen wird via AJAX.)
InformationsquelleAutor bear | 2009-06-08
Schreibe einen Kommentar