2014-01-16 33 views

Antwort

11

Sie so etwas tun könnte:

`

function checkLength(){ 
    var textbox = document.getElementById("textbox"); 
    if(textbox.value.length <= 10 && textbox.value.length >= 5){ 
     alert("success"); 
    } 
    else{ 
     alert("make sure the input is between 5-10 characters long") 
    } 
} 
</script> 
<input type="text" id="textbox"></input> 
<input type="submit" name="textboxSubmit" onclick="checkLength()" /> 
` 
+0

Dies begrenzt die Länge auf höchstens 5 Zeichen, ganz anders als gefragt wurde. (Außerdem funktioniert es wirklich auf Code-Einheiten, nicht auf Zeichen.) –

+0

@ JukkaK.Korpela Ich habe meine Antwort geändert, um die geänderten Zeichenlängen wiederzugeben. Zuvor hat die Frage die Grenzwerte auf einen Bereich von 0 bis 5 Zeichen festgelegt. – rboling

3

Sie müssen das Attribut maxlength für Eingabefelder verwenden, so etwas wie dies sollte es tun:

<input name="myTextInput" type="text" maxlength="5"></input> 
+0

Ja, ich habe das getan. Aber, was ich will, ist die Zeichenfolge nicht weniger als 5 Zeichen und nicht größer als 10 Zeichen. Tut mir leid, ich gebe 0 statt 10 oben ein. – cala

+0

Sie müssten das mit Javascript lösen, dann hat @rboling eine anständige Lösung – njfife

+0

Es ist in Ordnung. Ich tippte beim ersten Mal eine 0 anstelle von 10. Danke für die Antwort! Schätzen Sie es – cala

2

Sie kann "maxlength" -Attribut verwenden, um nicht mehr als x Zeichen & Validierung mit Javascript für minimale Länge zu erlauben.

siehe folgendes Beispiel: http://jsfiddle.net/nZ37J/

HTML

<form id="form_elem" action="/sdas" method="post"> 
    <input type="text" id="example" maxlength="10"></input> 
    <span id="error_msg" style="color:red"></span> 
    <input type="button" id="validate" value="validate"></input> 
</form> 

Javascript:

$("#validate").click(function(){ 
    var inputStr = $("#example").val(); 
    if(inputStr.length<5) 
     $("#error_msg").html("enter atleast 5 chars in the input box"); 
    else 
     $("#form_elem").submit();  
}) 
+0

Danke auch dieses Werk ist perfekt, obwohl ich es in Javascript anstelle von jquery ändern musste. Ich musste nur .value auf var hinzufügen textbox = document.getElementById ("textbox"). und es hat funktioniert. Danke user3071372 und @rboling – cala

2
<input name="myTextInput" type="text" minlength="5" maxlength="10"></input> 

Dies würde den Trick tun, wenn Sie mit js zu Schwierigkeiten nicht wollen.

3

Ich habe ein bisschen eine Mischung aus den obigen Proben versucht, um es so einfach wie möglich zu machen und unnötige Warnungen zu vermeiden. Script:

function checkLength(){ 
    var textbox = document.getElementById("comment"); 
    if(textbox.value.length <= 500 && textbox.value.length >= 5){ 
     return true; 
    } 
    else{ 
     alert("Your comment is too short, please write more."); 
     return false; 
    } 
} 

in das Formularfeld Code wäre: onsubmit = "return checkLength();">

Und der Textbereich in der Form selbst:

<label for="comment">*Comment:</label> 
<textarea name="comment" id="comment" rows="4" cols="40" required="required"></textarea> 

hoffen, dass diese hilft!

Verwandte Themen