2017-06-02 2 views
-1

Sagen wir, es gibt ein Formularfeld mit dem Namen txtphone, und mit Javascript überprüfe ich, ob es mindestens 10 Ziffern lang ist. Der Benutzer gibt nur 5 Ziffern ein, damit die Validierung fehlschlägt. Ich möchte, dass der Cursor dorthin zurückkehrt, wo das txtphone automatisch eingegeben wird, so dass der Benutzer nicht weiterkommen kann, ohne eine 10-stellige Telefonnummer einzugeben. Dies ist ein Beispiel. Ich kann es auf Felder wie Name Eingabefeld nicht bekommen zu gehen, E-Mail usw. An diesem Beispiel bei einem Fehler, das ist, wie ich dies zu erreichen versuchen:Setzen Sie den Cursor automatisch zurück in ein fehlerhaftes Formularfeld, wenn die js-Validierung fehlschlägt

txtphone.focus() 
txtphone.select() 
return False 

Es zeigt die Warnung Fehlermeldung Der Fokus liegt jedoch auf dem nächsten Formularfeld.

Bitte antworten Sie nur, wenn Sie dieses Problem in der Vergangenheit hatten und Sie es gelöst haben, und bitte, geben Sie mir ein paar Zeilen tatsächlichen Arbeitscode. Ich kämpfe seit Wochen und bin bereit aufzugeben. Antworten wie "hast du versucht ..." tu mir nicht gut. Vielen Dank.

+2

mehr Code bitte ... Fokus verwendet, ist der richtige Weg, aber Ihre Implementierung falsch sein kann –

Antwort

2

Ich erstellte eine JSFiddle, die zeigt, wie die Fokusmethode für das, wonach Sie suchen, funktionieren sollte. Lass es mich wissen, wenn es hilft.

JSFiddle

HTML

<input id="txtphone" type="text"> 

<button id="btn"> 
Click me! 
</button> 

JavaScript

var txtphone = document.getElementById("txtphone"); 

var button = document.getElementById("btn"); 

button.addEventListener("click", function() { 
    if (txtphone.value.length < 10) { 
    txtphone.style.backgroundColor = "red"; 
    txtphone.focus(); 
    } else { 
    txtphone.style.backgroundColor = "white"; 
    } 
}); 
Verwandte Themen