Есть форма:
<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
Вещаете его на форму, для проверки введенных данных.
Письма не всегда доходят быстро, по этому не нужно в вашей форме добавлять поле с вводом кода. Лучше ссылку в письме для подтверждения
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Добрый день! Пытаюсь перехватить ЛЮБОЕ onclick событие в WKWebViewВесь сайт работает посредством js запросов, так что в func webView(_ webView: WKWebView, decidePolicyFor...