У меня есть input type = text в html, и у меня есть этот js-код в js файле, чтобы показать сообщение об ошибке
var $form = $("#myid"),
$errorMsg = $("<span id='myerrormessagespan' class='error' style='color:red;'>*</span>");
var toReturn = 0;
$("input", $form).each(function () {
if ($(this).val() == "") {
if (!$(this).data("error")) {
$(this).data("error", $errorMsg.clone().insertAfter($(this)));
}
toReturn = 1;
}
else {
if ($(this).data("error")) {
$(this).data("error").remove();
$(this).removeData("error");
}
}
});
Я пытаюсь преобразовать этот код, чтобы сделать валидатор диапазона в поле ввода type = текстовое поле.dispalying всего 5 цифр в текстовом поле, но я не смог достичь. Есть ли простой способ сделать это?
благодаря
Вместо этого рассмотрите использование плагина проверки jQuery, особенно метод rangelength для вашего случая. Однако, если вы хотите придерживаться исходного кода без использования какой-либо библиотеки, я предлагаю вам попробовать следующий код:
HTML:
<form id="myid" name="myid" method="post" action="/">name :
<input type="text" name="name" id="name" />age :
<input type="text" name="age" id="age" />
<input type="submit" id="submit" name="submit" value="Save" />
</form>
jQuery:
var $form = $("#myid"),
$errorMsg = $("<span id='myerrormessagespan' class='error' style='color:red;'>*</span>");
$("#submit").on("click", function () {
var toReturn = true;
$("input", $form).each(function () {
var value = $(this).val();
if((!$.trim(this.value).length) || (value.length > 5)) {
if (!$(this).data("error")) {
$(this).data("error", $errorMsg.clone().insertAfter($(this)));
}
toReturn = false;
}
else {
if ($(this).data("error")) {
$(this).data("error").remove();
$(this).removeData("error");
}
}
});
return toReturn;
});