Das funktioniert gut, das einzige Problem ist, wenn ich alle Zeichen von der Eingabe lösche und die "Senden" -Taste drücke, "Feld erforderlich" wird nicht angezeigt und die Nachricht "Mindestens 8 Zeichen" bleibt erhalten.Wenn Eingabefeld leer ist Laufbedingung, sonst Laufbedingung 2
Ich hoffe, Sie können mir helfen, Prost.
$(function() {
var elInput = $('#username');
var message = $('.msg');
$('#send').on('click', function(e) {
e.preventDefault();
if(!elInput.val()) {
message.addClass('msg2');
} else {
if(elInput.val().length < 8) {
message.css({
'color': 'grey',
'display': 'inline'
}).text('Minimum 8 characters');
} else {
message.css('display', 'none');
}
}
})
})
.msg {
display: none;
}
.msg2 {
display: inline;
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<h1>Validation Form</h1>
<form>
<label for="username">Name</label><br/>
<input type="text" id="username" placeholder="username"><br/>
<span class="msg">Field required</span><br/>
<button id="send">Send</button>
</form>
</body>
, wie Sie elInput Wert zu erhalten? –
Probieren Sie 'if (! ElInput.val(). Trim())' aus, um Leerzeichen zu entfernen, oder expliziter 'if (elInput.val(). Length == 0) '. Wo haben Sie auch "elInput" definiert? –
Bitte bearbeiten Sie Ihre Frage, um das relevante HTML und den Rest des Skripts bereitzustellen. – nicael