Ich habe eine sehr einfache Webseite, die einen Benutzer nach einem Login und Passwort fragt und eine Login-Taste drücken. Das funktioniert im IE einwandfrei, aber nicht in Chrome oder Firefox. Kann mir jemand sagen warum oder wies ich in die richtige Richtung?JavaScript Login-Taste funktioniert in IE, aber nicht in Chrome oder Firefox
<?xml version="1.0" encoding="iso-8859-1" ?>
<xsl:stylesheet type="application/xsl" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
<title>Test Online Login</title>
<script>
<xsl:if test="VFILE_DATA/LOGGED_IN='TRUE'">
// Logged in OK so run menu
document.URL = "http://gla-web01:91/scripts/test.wsc/vfxmlsws.p?" +
"function=system_blank" +
"&xsl=Personal.xsl" +
"&session_key=<xsl:value-of select="VFILE_DATA/SESSION_KEY"/>";
</xsl:if>
function login(){
// Check to see if login parameters are correct
document.URL="http://gla-web01:91/scripts/test.wsc/vfxmlsws.p?"+"function=user_login"+"&server_translate=false"+"&xsl_dir=/vfile_test"+"&user_id="+user.value+"&password="+password.value+"&xsl=install_login.xsl";
}
function checkReturnKey(){
// Test to see if the return key has been pressed
if (event.keyCode == 13)
login();
}
</script>
<style>
table {
border-collapse: collapse;
width: 100%;
font-family:calibri
}
th, td {
text-align: left;
padding: 8px;
font-family:calibri
}
tr:nth-child(even){background-color: #E4E4E4}
th {
background-color: #eedaff;
color: black;
text-align: left;
font: 16px/24px Helvetica Neue, "Arial", Helvetica, Verdana, sans-serif;
width: 100%;
}
label {
color: #666;
text-align: left;
font: 16px/24px Helvetica Neue, "Arial", Helvetica, Verdana, sans-serif;
width: 100%;
}
</style>
</head>
<body>
<div id="title"><h2>Test User Login</h2>
<hr></hr></div>
User:<input id="user" type="text" onkeypress="checkReturnKey()"/>
Password:<input id="password" type="password" onkeypress="checkReturnKey()"/>
<input class="loginButton" type="button" value="Login" onclick="login()"/>
<button onclick="login()">Login2</button>
<xsl:if test="VFILE_DATA/LOGGED_IN='FALSE'">
<P/>
Invalid Login
</xsl:if>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Wie Sie sehen, habe ich zwei verschiedene Methoden der Codierung der Anmeldeschaltfläche ausprobiert, beide funktionieren im IE, aber weder in Chrome noch in FireFox.
Ich habe mehrere ähnliche Themen zu diesem Thema lesen:
Why this button works in IE but not in Firefox?
XSLT works in IE, not in Chrome or Firefox
Why this button works in IE but not in Firefox?
Javascript works in IE but not in Chrome
javascript works in IE but not in firefox
aber nichts hat geholfen. Ich bin sicher, dass es etwas sehr einfaches sein muss, das ich vermisse, aber es nicht herausfinden kann!
Danke,
Danke, es kann tatsächlich ein Duplikat sein, aber ich habe nichts gefunden, das hilft. Gut zu wissen, dass der KeyCode Microsoft Specific ist, wusste das nicht, also habe ich meinen Code geändert. Das Problem wurde jedoch nicht gelöst, da beim Drücken der Taste oder beim Drücken der Taste nichts passiert. – KT79
@ KT79: Haben Sie dieses Bit gesehen? * "Ich glaube, dass du das auch auf Keydown machen willst, nicht auf Tastendruck." * Ich habe die Antwort aktualisiert, um ein Beispiel zu diesem Satz hinzuzufügen (und ihn bis zum Ende verschoben). Komischerweise beantwortete ich einfach diese andere Frage (http://stackoverflow.com/a/38846778/157247) mit etwas, das mich schnell überprüfen ließ, und ja, du willst definitiv 'keypress' nicht, um Schlüssel 13 zu erkennen. –
ja sorry sah das auch und novelliert dazu (ich wollte definitiv keinen Tastendruck!) Aber es tut immernoch nichts wenn die Return-Taste gedrückt wird oder der Login-Button geklickt hat, es macht mich wahnsinnig! Danke für Ihre Hilfe! – KT79