|
14.04.2018, 22:53
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от NastyaNewer
|
У меня она работала первоначально
|
Если у вас форма всегда присутствует на странице, то вы либо должны подключать свой js-код с конце страницы, либо устанавливать обработчик document.getElementById('form_main').... в обработчике события готовности DOM.
Если форма добавляется на страницу динамически, то либо делегировать обработку события onsubmit ближайшему родителю формы, который есть на странице всегда, либо устанавливать обработчик onsubmit после добавления формы на страницу.
|
|
15.04.2018, 00:32
|
Интересующийся
|
|
Регистрация: 06.04.2018
Сообщений: 28
|
|
JS конечно подключена, в конце перед body, все как положено
|
|
15.04.2018, 00:33
|
Интересующийся
|
|
Регистрация: 06.04.2018
Сообщений: 28
|
|
button = document.getElementById('feedback');
button.addEventListener('submit', validForm, false);
function validForm(){
valid = true;
if ( document.contact_form.username.value == '' ) {
document.contact_form.username.style.border = '2px solid red';
valid = false;
}
if ( document.contact_form.email.value == '' ) {
document.contact_form.email.style.border = '2px solid red';
valid = false;
}
return valid;
}
Еще мой очередной код обработки события клика на кнопку отправить , никак пустые поля не подсвечиваются. Помогите !!!!
|
|
15.04.2018, 01:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
NastyaNewer,
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]
О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
|
|
15.04.2018, 01:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
NastyaNewer,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<div id="popup_contact" class="feedback popup_block">
<div class="form">
<form name="contact_form" action="#" method="post" class="form_main">
<label><input type="text" id="username" name="username" class="username field_name field"></label>
<label><input type="text" id="useremail" name="email" class="email_text field_email field" ></label>
<label><textarea class="space_message field_message field" name="message_people" id="message" rows="10"></textarea></label>
<label for="submit"></label>
<label><input type="submit" id="submit" value="Отправить" class="button_message"></label>
<label for="popup_contact" class="close_block"></label>
</form>
</div>
</div>
<script>
var form = document.contact_form;
form.addEventListener("submit", validForm, false);
function validForm(event) {
var valid = true,
border = "";
if (form.username.value == "") {
border = "2px solid red";
valid = false;
}
form.username.style.border = border;
border = "";
if (form.email.value == "") {
border = "2px solid red";
valid = false;
}
form.email.style.border = border;
if (!valid) {
event.preventDefault();
}
}
</script>
</body>
</html>
|
|
15.04.2018, 02:28
|
Интересующийся
|
|
Регистрация: 06.04.2018
Сообщений: 28
|
|
Спасибо большое , не работает никак даже ваше.
|
|
15.04.2018, 02:30
|
Интересующийся
|
|
Регистрация: 06.04.2018
Сообщений: 28
|
|
function validateForm() {
var form = document.contact_form; // по имени
var elements = form.querySelectorAll('.form_control');
form.addEventListener('submit', validForm, false);
function validForm(event) {
var valid = true,
border = '';
if (form.username.value == '') {
border = '2px solid red';
valid = false;
}
form.username.style.border = border;
border = '';
if (form.email.value == '') {
border = '2px solid red';
valid = false;
}
form.email.style.border = border;
if (!valid) {
event.preventDefault();
}
}
}
|
|
15.04.2018, 02:31
|
Интересующийся
|
|
Регистрация: 06.04.2018
Сообщений: 28
|
|
рони,
спасибо вам большое, все время жду от вас ответа, всегда даете дельные советы
|
|
15.04.2018, 02:44
|
Интересующийся
|
|
Регистрация: 06.04.2018
Сообщений: 28
|
|
function validForm() {
var element = document.getElementsByClassName('form_control');
var button = document.getElementById('submit')
button.addEventListener('click', function(){
for (var count = 0; count <= element.length; count++) {
if (element[count].value == ''){
element[count].style.border='2px solid red'
}
else{
element[count].style.border=''
}
}
})
}
Не работает валидация полей при отправке пустого поля никак. все варианты уже перепробовала
|
|
15.04.2018, 03:26
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
Сообщение от NastyaNewer
|
не работает никак даже ваше.
|
здесь работает пост№15?
|
|
|
|