Я определил две функции проверки jQuery следующим образом: < /p>
Test
/////////////////////////////////////////////////////
function LessThanValidator(event)
{
var lowID = event.data.lowID;
var highID = event.data.highID;
var formID = event.data.formID;
var lowValue = parseInt( $(lowID).val() );
//var lowValue = parseInt( $(lowID).attr("value") ); // this doesn't fix
if ( isNaN(lowValue) ) {
lowValue = 0;
}
$(highID).rules('remove', 'min');
$(highID).rules('add', { min: lowValue });
$(formID).validate().element( highID );
return false;
}
function LargerThanValidator(event)
{
var lowID = event.data.lowID;
var highID = event.data.highID;
var formID = event.data.formID;
var highValue = parseInt( $(highID).val() );
//var highValue = parseInt( $(highID).attr("value") ); // this doesn't fix
if ( isNaN(highValue) ) {
highValue = 0;
}
$(lowID).rules('remove', 'max');
$(lowID).rules('add', { max: highValue });
$(formID).validate().element( lowID );
return false;
}
$(document).ready( function() {
// validate the #regFormBody form when it is submitted
$("#regFormBody").validate({
debug: true,
errorPlacement: function(error, element) {
error.insertAfter( element.parent() );
},
rules: {
confeelow: { required: true, digits: true, maxlength: 10, max: isNaN(parseInt($("#confeehigh"))) ? 0 : parseInt($("#confeehigh")) },
confeehigh: { required: true, digits: true, maxlength: 10, min: isNaN(parseInt($("#confeelow"))) ? 0 : parseInt($("#confeelow")) }
},
messages: {
confeelow: { max: "Please enter a value less than or equal to To (US$)" },
confeehigh: { min: "Please enter a value greater than or equal to From (US$)" }
}
});
///////////////////////////////////////////////////////////////
$("#confeelow").bind("change", {lowID: "#confeelow", highID: "#confeehigh", formID: "#regFormBody"}, LessThanValidator);
$("#confeehigh").bind("change", {lowID: "#confeelow", highID: "#confeehigh", formID: "#regFormBody"}, LargerThanValidator);
});
.error
{
color:red;
}
Desired Consulting Fee From (US$) *
To (US$) *
< /code>
По сути, я использую вышеуказанные функции, чтобы убедиться, что значение Lowid всегда менее или равное Highid. < /p>
Я использую следующий скрипт для настройки проверки. < /p>
$("#confeelow").bind("change", { lowID: "#confeelow", highID: "#confeehigh", formID: "#profileFormBody" }, LessThanValidator);
$("#confeehigh").bind("change", { lowID: "#confeelow", highID: "#confeehigh", formID: "#profileFormBody" }, LargerThanValidator);
< /code>
Эти две функции работают довольно хорошо. Однако, если я предопределяю значения для #confeehigh и #confeelow, то эти поля не могут пройти проверку. Я действительно не могу понять, почему. Потому что без заполненных значений эти функции проверки работают хорошо.
< /code>
Другими словами, если я вручную введу 12 для Confeelow и 23 для Confeehigh, то проверка работает хорошо.
< /code>
Может ли кто -нибудь дать мне некоторые подсказки, почему это не работает для предопределенного значения? < /p>
Спасибо < /p>
///////////////// Update-001 ////////////////////
< /code>
У некоторых людей может быть этот вопрос: почему вы должны использовать значение по умолчанию, если код работает с новыми введенными данными. Вот причина < /p>
1> First the user will be allowed to enter data
2> Second the user will submit the form and store in DB
3> When next time the user logins again
I have to repopulate the text field by using some code similar as follows:
Подробнее здесь: https://stackoverflow.com/questions/360 ... ined-value
JQuery - Почему правило проверки не поддерживает предопределенное значение? ⇐ Jquery
Программирование на jquery
1757649955
Anonymous
Я определил две функции проверки jQuery следующим образом: < /p>
Test
/////////////////////////////////////////////////////
function LessThanValidator(event)
{
var lowID = event.data.lowID;
var highID = event.data.highID;
var formID = event.data.formID;
var lowValue = parseInt( $(lowID).val() );
//var lowValue = parseInt( $(lowID).attr("value") ); // this doesn't fix
if ( isNaN(lowValue) ) {
lowValue = 0;
}
$(highID).rules('remove', 'min');
$(highID).rules('add', { min: lowValue });
$(formID).validate().element( highID );
return false;
}
function LargerThanValidator(event)
{
var lowID = event.data.lowID;
var highID = event.data.highID;
var formID = event.data.formID;
var highValue = parseInt( $(highID).val() );
//var highValue = parseInt( $(highID).attr("value") ); // this doesn't fix
if ( isNaN(highValue) ) {
highValue = 0;
}
$(lowID).rules('remove', 'max');
$(lowID).rules('add', { max: highValue });
$(formID).validate().element( lowID );
return false;
}
$(document).ready( function() {
// validate the #regFormBody form when it is submitted
$("#regFormBody").validate({
debug: true,
errorPlacement: function(error, element) {
error.insertAfter( element.parent() );
},
rules: {
confeelow: { required: true, digits: true, maxlength: 10, max: isNaN(parseInt($("#confeehigh"))) ? 0 : parseInt($("#confeehigh")) },
confeehigh: { required: true, digits: true, maxlength: 10, min: isNaN(parseInt($("#confeelow"))) ? 0 : parseInt($("#confeelow")) }
},
messages: {
confeelow: { max: "Please enter a value less than or equal to To (US$)" },
confeehigh: { min: "Please enter a value greater than or equal to From (US$)" }
}
});
///////////////////////////////////////////////////////////////
$("#confeelow").bind("change", {lowID: "#confeelow", highID: "#confeehigh", formID: "#regFormBody"}, LessThanValidator);
$("#confeehigh").bind("change", {lowID: "#confeelow", highID: "#confeehigh", formID: "#regFormBody"}, LargerThanValidator);
});
.error
{
color:red;
}
Desired Consulting Fee From (US$) *
To (US$) *
< /code>
По сути, я использую вышеуказанные функции, чтобы убедиться, что значение Lowid всегда менее или равное Highid. < /p>
Я использую следующий скрипт для настройки проверки. < /p>
$("#confeelow").bind("change", { lowID: "#confeelow", highID: "#confeehigh", formID: "#profileFormBody" }, LessThanValidator);
$("#confeehigh").bind("change", { lowID: "#confeelow", highID: "#confeehigh", formID: "#profileFormBody" }, LargerThanValidator);
< /code>
Эти две функции работают довольно хорошо. Однако, если я предопределяю значения для #confeehigh и #confeelow, то эти поля не могут пройти проверку. Я действительно не могу понять, почему. Потому что без заполненных значений эти функции проверки работают хорошо.
< /code>
Другими словами, если я вручную введу 12 для Confeelow и 23 для Confeehigh, то проверка работает хорошо.
< /code>
Может ли кто -нибудь дать мне некоторые подсказки, почему это не работает для предопределенного значения? < /p>
Спасибо < /p>
///////////////// Update-001 ////////////////////
< /code>
У некоторых людей может быть этот вопрос: почему вы должны использовать значение по умолчанию, если код работает с новыми введенными данными. Вот причина < /p>
1> First the user will be allowed to enter data
2> Second the user will submit the form and store in DB
3> When next time the user logins again
I have to repopulate the text field by using some code similar as follows:
Подробнее здесь: [url]https://stackoverflow.com/questions/3606118/jquery-why-the-validation-rule-doesnt-support-predefined-value[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия