Noch nicht viel geschrieben
Hallo,
ich habe für ein Intranet ein Frontend gebaut auf dem man sich per 4-stelligem Pin einloggen kann.
Das funktioniert soweit auch. Nun haben wir ein iPad Pro an die Wand gehängt das für alle Mitarbeiter zugänglich ist und hier ist die Pineingabe sehr langsam. Auf dem Desktop PC ist sie super schnell.
Ich habe einfach DIVs mit den Ziffern und per JS drauf ein EventListener angelegt. Dieser ruft dann nur eine Funktion newNumber() auf um die neue Ziffer an den code anzuhängen und ein Sternchen auszugeben. Sind alle 4 Ziffern eingeben wird ein Formular abgesendet um den Code an PHP zu übergeben. Anbei der Codeauszug:
Hat irgend jemand eine IDee wieso das am PC super schnell ist und auf dem iPad man zwischen jeder Ziffer ca. 0,8s warten muss?
Grüße,
Stephan
ich habe für ein Intranet ein Frontend gebaut auf dem man sich per 4-stelligem Pin einloggen kann.
Das funktioniert soweit auch. Nun haben wir ein iPad Pro an die Wand gehängt das für alle Mitarbeiter zugänglich ist und hier ist die Pineingabe sehr langsam. Auf dem Desktop PC ist sie super schnell.
Ich habe einfach DIVs mit den Ziffern und per JS drauf ein EventListener angelegt. Dieser ruft dann nur eine Funktion newNumber() auf um die neue Ziffer an den code anzuhängen und ein Sternchen auszugeben. Sind alle 4 Ziffern eingeben wird ein Formular abgesendet um den Code an PHP zu übergeben. Anbei der Codeauszug:
Code:
<div class='login_pinpad'>
<form name="pinpadform" id="new_form" action="" method="post" enctype="multipart/form-data" >
<input type="hidden" name="formular" value="pinpadform" />
<input type="hidden" name="pincode" id="pincode" value="1" />
</form>
<?PHP
//Ausgabe der Zifferbuttons
for($i=1; $i<=9; $i++){
echo '<div id="button'.$i.'" class="ziffer">'.$i.'</div>';
}
?>
</div>
<script type="text/javascript">
var button1 = document.getElementById("button1");
//identisch für alle weiteren Buttons
button1.addEventListener('click', function(){ newNumber(1) });
//identisch für alle weiteren Buttons
function newNumber (number){
code = code + number;
//Der Code wird an dieser Stelle in Sternchen gewandelt und dann als Ausgabe an die Webseite geben.
//Hier der Einfachheit halber nur sehr verkürzt dargestellt.
showcode.innerHTML = codemask;
//Schreibe Code in ein verstecktes Formularfeld für die übergabe an PHP
//pincode ist die ID des Formularfeldes
pincode = document.getElementById("pincode");
pincode.value = code;
//alle Ziffern eingebenen sende Code an Server
var codestellen = code.length;
if(codestellen == 4){
setTimeout(function() {
document.forms["pinpadform"].submit();
}, 400);
}
}
</script>
Hat irgend jemand eine IDee wieso das am PC super schnell ist und auf dem iPad man zwischen jeder Ziffer ca. 0,8s warten muss?
Grüße,
Stephan