Я пытаюсь выполнить проверку формы через ajax.Я очищаю форму и передаю ее в php-файл, который будет очищать и проверять форму.Если есть какие-либо ошибки, я хочу, чтобы он изменил границу поля другим цветом и отобразил сообщение об ошибке под формой (это я не могу сделать без проблем).
Это только что из этого php-файла, он будет вызываться через ajax, но должен возвращать массив вроде:
$errors = array();
$errors['text'] = array(array('name'=>'address','messages'=>'Enter an address'),array('name'=>'phone','messages'=>'Enter a phone'));
$errors['select'] = array(array('name'=>'company','messages'=>'Enter a company name'));
В результате получается массив, который выглядит следующим образом:
Array
(
[text] => Array
(
[0] => Array
(
[name] => address
[messages] => Enter an address
)
[1] => Array
(
[name] => phone
[messages] => Enter a phone
)
)
[select] => Array
(
[0] => Array
(
[name] => company
[messages] => Enter a company name
)
)
)
Теперь в конце этого файла, если у меня есть
$data = $errors;
echo json_encode($data);
Тогда я закодирую этот массив в json, и это означает, что я могу передать его в скрипт jquery.
serialize = $('#form').serialize();
$.ajax({
type : 'POST',
dataType : 'json',
url : '//'+base_url+'/ajax/form-validation.php',
data : serialize,
success : function(data) {
}
});
Часть, в которой я не уверен, - как вернуть все данные из массива в процессе.Я хочу сделать эквивалент:
foreach($errors['text'] as $e) text($e);
foreach($errors['select'] as $e) select($e);
Так что для переменных 'text' они будут передавать переменные name и message через функцию text (), а переменные 'select' будут делать то же самое черезфункция выбора ().
Но как это достигается с помощью json и jquery?