2016-09-23 7 views
0

Ich mache die Funktion, wenn der Fokus des Eingabefeldes leer ist, wird der Fokus auf ein anderes Eingabefeld geändert, ist es möglich, wenn jquery verwendet wird?Fokus ändern, wenn das Eingabefeld leer ist

Ich habe versucht, aber funktioniert nicht.

Hier HTML-Code:

<form> 
    Username:<br /> 
    <input type="text" id="username" name="username" value="notblank" /><br /> 
    <br /> 
    Password:<br /> 
    <input type="text" id="password" name="password" value="notblank" /> 
</form> 

Hier JQuery-Code:

$('#password').each(function(){ 
    if($(this).val() == ''){ 
    $('#username').focus(); 
    return false; 
    } 
}); 

Hier JSFiddle Example.

Danke.

+1

Ich glaube, Sie wollen Benutzer kann Kennwort nicht schreiben, wenn Benutzernamen leer. Auch wenn "# password" fokussiert ist, wenn "# username" leer ist, sollte sich js auf "# username" konzentrieren. Ist das richtig? – Mohammad

+0

ändern 'jedes' zu' Fokus' Funktion –

Antwort

2

Try this:

$(document).ready(function() { 
 
    
 
    $("input").on("input",function(){ 
 
     
 
     if($(this).val() == '') 
 
      
 
      $("input").not(this).focus(); 
 
      
 
    }) 
 
    
 
})
<form> 
 
    Username:<br /> 
 
    <input type="text" id="username" name="username" value="notblank" /> 
 
    <br /><br /> 
 
    Password: 
 
    <br /> 
 
    <input type="text" id="password" name="password" value="notblank" /> 
 
</form> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

Änderung nur, wenn #password zu #benutzername leer Fokusänderung ist,

Versuchen Sie folgendes:

$(document).ready(function() { 
 
    
 
    $("#password").on("input",function(){ 
 
     
 
     if($(this).val() == '') 
 
      
 
      $("#username").focus(); 
 
      
 
    }) 
 
    
 
})
<form> 
 
    Username:<br /> 
 
    <input type="text" id="username" name="username" value="notblank" /> 
 
    <br /><br /> 
 
    Password: 
 
    <br /> 
 
    <input type="text" id="password" name="password" value="notblank" /> 
 
</form> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

+0

danke bro, das ist, was ich gesucht habe –

+0

@RofiFathurrohman, wenn Sie Hilfe bitte markieren Sie es! – Ehsan

+0

aber warum, wenn '# Benutzername' Feld leer ist, Fokus auf' # Passwort' Feld? –

0

each - für viele Eingaben mit der ID 'password'. Sie sollten zB zuhören. keyup statt.

$('#password').keyup(function(){ 
    if($(this).val() == ''){ 
    $('#username').focus(); 
    return false; 
    } 
}); 

http://jsfiddle.net/4m5fg/549/

+0

danke es ist Arbeit! –

+0

es ist Arbeit bro, aber das Problem ist, wenn der Fokus zu anderen Eingabefeld haben –

+0

Mb ich nicht verstehn. Eine andere Eingabe löscht die Passworteingabe und muss dann den Fokus auf das Feld "Benutzername" setzen. http://jsfiddle.net/4m5fg/551/ –

Verwandte Themen