У меня есть форма, которую я проверяю перед отправкой. Как следует из названия, ValidateForm()
проверяет форму, а ValidateRange(num)
проверяет набор полей в форме в зависимости от выбора пользователя. Возьми у меня, что санкционирование проводится правильно.
В самом последнем операторе if
, где я проверяю результат, если я использую jQuery .append()
, он работает нормально, но я хочу заменить проверочный текст методом replaceWith()
, но этого не происходит.
result.message
- это просто текстовая строка, указывающая, какое поле имеет проблему с проверкой, и указывает на нее пользователя.
В console.log()
я вижу, что сообщения указателя проверки корректно появляются, когда я исправляю поля с правильными значениями, но по какой-то причине он продолжает заменять <div id ='ValidationDiv'></div>
первым сообщением указателя снова и снова.
function ValidateForm() {
var result = {valid:true, message:"In-Progress"};
if ($('#firstRangeRadioButton').is(':checked'))
result = ValidateRange(1);
else if ($('#secondRangeRadioButton').is(':checked'))
{
result = ValidateRange(1);
if(result.valid == true)
result = ValidateRange(2);
}
else if ($('#thirdRangeRadioButton').is(':checked')) {
result = ValidateRange(1);
if (result.valid == true)
result = ValidateRange(2);
if (result.valid == true)
result = ValidateRange(3);
}
if (result.valid == false)
{
console.log(result.message);
message = "<div class=\"well well-sm\"><div><div class=\"blink\"><strong>Validation Failed: </strong>" + result.message + "</div></div></div>";
$('#ValidationDiv').replaceWith(message);
blink('.blink');
console.log(message);
return false;
}
else
return true;
}