Ich versuche show
das nächste Eingabefeld, nachdem das vorherige ausgefüllt wurde. Mein Versuch funktioniert. Wenn die erste Eingabe ausgefüllt ist, sollte die zweite erscheinen und die erste sollte noch machbar sein und so weiter. Im Moment erscheint die erste Eingabe beim Laden der Seite (wie ich es möchte), aber nachdem sie ausgefüllt ist, tut sie nichts.Zeigt das nächste Eingabefeld an, wenn es mit next ausgefüllt wird()
Here it is in a fiddle if this helps
$(function() {
var intro = $('.intro');
intro.on('keypress', function() {
if (intro.filter(function(){return $(this).val().length }).length == intro.length) {
$('input').next('.intro').fadeIn(500);
}
/* else {
$('.intro').hide();
}*/
});
});
.intro {
display: none;
}
.intro:first-child {display: block;}
.next { display: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id="name" type="text" class="intro">
<input id="email" type="email" class="intro">
<input id="title" type="text" class="intro">
<a class="next">show div</a>
Ich vermute, Ihr bedingte 'if (intro.filter (function() {return $ (this) .val(). length}). length == intro.length) 'gibt niemals' true' zurück. Was versuchst du mit dem Filter und der '... val(). Length}). Length ...'? – RickTakes
Irgendeine Idee, warum es nicht wahr zurückkommt? Nun, es ist von einem Beispiel, das ich auf Stackoverflow gesehen habe. Ich möchte jedoch eine Validierung hinzufügen, so dass es nicht wahr wäre, wenn nicht eine bestimmte Anzahl von Zeichen eingegeben würde. – Becky