Есть форма:
<div id="text_error_regform"></div>
<div class="registration_form">
<form method="post" action="index.php?route=action/registration" class="form_data">
<div class="form-group"><input type="text" name="name" id="name" class="form-control" placeholder="<?=$data['form_name_text']?>" /></div>
<div class="form-group"><input type="text" name="lastname" id="lastname" class="form-control" placeholder="<?=$data['form_lastname_text']?>" /></div>
<div class="form-group">
<div class="user_type">
<input type="radio" name="user" value="privat" /> <span class="radio_user"><?=$data['form_privat_radio']?></span>
<input type="radio" name="user" value="giuridica" /> <span class="radio_user"><?=$data['form_giuridica_radio']?></span>
</div>
</div>
<div class="form-group"><input type="text" name="iva" class="form-control" id="iva" style="display: none;" placeholder="<?=$data['form_iva_text']?>" /></div>
<div class="form-group"><input type="email" name="email" class="form-control" id="email" placeholder="E-mail ..." /></div>
<div class="form-group"><input type="text" name="login" class="form-control" id="reglogin" placeholder="<?=$data['form_login_text']?>" /></div>
<div class="form-group"><input type="password" name="pass" class="form-control" id="regpass" placeholder="<?=$data['form_pass_text']?>" /></div>
<div class="form-group"><input type="text" name="mobile" class="form-control" id="mobile" placeholder="<?=$data['form_mobile_text']?>" /></div>
<div class="form-group"><input type="text" name="town" class="form-control" id="town" placeholder="<?=$data['form_town_text']?>" /></div>
<div class="send"><input type="submit" name="register_user" value="<?=$data['btn_register']?>" /></div>
</form>
</div>
Обработчик данных на сервере:
private function RegistrationUser($params) {
require $this->language->getLanguage('messages');
if ($params['login'] == "" or !$this->valid->validLogin($params['login'])) $message = $lang['message_error_login'];
if ($params['pass'] == "") $message = $lang['message_error_pass'];
if ($params['name'] == "" or !$this->valid->isOnlyLetters($params['name'])) $message = $lang['message_error_name'];
if ($params['lastname'] == "" or !$this->valid->isOnlyLetters($params['lastname'])) $message = $lang['message_error_lastname'];
if (!isset($params['user'])) {
$message = $lang['message_error_user'];
} else {
if ($params['user'] == "giuridica") {
$message = $lang['message_error_iva'];
} else {
$params['iva'] = '0';
}
}
if($params['email'] == "" or !$this->valid->validEmail($params['email'])) $message = $lang['message_error_email'];
if($params['town'] == "" or $this->valid->isOnlyLetters($params['towm'])) $message = $lang['message_error_town'];
if($params['mobile'] == "" or !$this->valid->isOnlyNumbers($params['mobile'])) $message = $lang['message_error_mobile'];
if (isset($message)) return $message;
else return true;
}
И есть ajax (который должен был быть универсальным, но я так смотрю что универсальным ему не быть):
$(document).ready(function() {
$('.form_data').on('submit', function(e){
e.preventDefault();
var $that = $(this),
fData = $that.serialize();
$.ajax({
url: $that.attr('action'),
type: $that.attr('method'),
data: {form_data: fData},
dataType: 'json',
success: function(json){
if(json.Error) {
document.getElementById('text_error_form').innerHTML = json.Error;
} else if(json.Success != null) {
$('#text_error_form').remove();
$('.form_data').replaceWith(json.Success);
}
}
});
});
});
Чего я хочу добиться но не получается:
Когда пользователь заполняет форму регистрации чтоб проверялись в реальном времени (keyup) поля name, lastname, когда пользователь выбирает radiobox типа giuridica, тогда должно появиться поле iva (по умолчанию оно скрыто) и так же проверка в реальном времени на заполненность. Такая же проверка email. Если почта введена корректно, то должно отправиться сразу письмо с номером активации на этот адрес и ниже появиться поле, в которое пользователь вставит этот номер и так же в реальном времени подтвердит свой адрес. После этого простая проверка остальных полей так же в реальном времени.
На php это все работает. Помогите сделать это на javascript
Может вам поможет jQuery Validator
Вещаете его на форму, для проверки введенных данных.
Письма не всегда доходят быстро, по этому не нужно в вашей форме добавлять поле с вводом кода. Лучше ссылку в письме для подтверждения
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Добрый день! Пытаюсь перехватить ЛЮБОЕ onclick событие в WKWebViewВесь сайт работает посредством js запросов, так что в func webView(_ webView: WKWebView, decidePolicyFor...