Если вы вызываете функцию во встроенном событии onsubmit
, вы должны добавить ключевое слово return
к вызову функции в встроенном событии вашей формы, например:
<form onsubmit='return validateForm()'>
Но я думаю, что основная проблема заключается в.value
в вашем коде его следует заменить на .val()
, поскольку value
не является атрибутом объектов jQuery.
Я предлагаю прикрепить событие submit в коде JS, как показано ниже:.
ПРИМЕЧАНИЕ: Аргумент, передаваемый методам removeClass()
и addClass()
, не должен содержать точку .
в начале.
$(function() {
$('form').on('submit', validateForm);
})
function validateForm() {
var first_name = $("#first_name").val();
var last_name = $("#last_name").val();
$(this).find("span.error_txt").removeClass("hidden").addClass("show");
if (first_name === "") {
return false;
}
if (last_name === "") {
return false;
}
alert('Form will be submited.');
return true;
}
.hidden {
display: none;
}
.show {
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input id='first_name'><br>
<input id='last_name'><br>
<button>Submit</button>
<span class="error_txt hidden">Error occurred check you form fields again.</span>
</form>