Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.12.2012, 13:25
Интересующийся
Отправить личное сообщение для Perumov Посмотреть профиль Найти все сообщения от Perumov
 
Регистрация: 18.12.2012
Сообщений: 19

Проблема с выводом ошибок в форме
Здравствуйте уважаемое сообщество.
Столкнулся с проблемой и ни как не могу найти решение, уже несколько дней все интернеты обыскиваю
Суть в том, что ни как не могу разобраться каким образом реализовать изменение цвета фона формы отправки данных, если поля формы были заполнены некорректно или отправляются в обработчик с нулевыми данными. То есть как выводить ошибку в виде измененного цвета фона того или иного поля в зависимости, где произошла ошибка, а при клике на поле, оно возвращалось к первоначальному виду? А то alert'ом выводить как-то не очень
Заранее благодарен.
Вот функция отправки данных на сервер. (я попытался с помощью return вернуть вместо alert присоединенный класс, который меняет цвет фона у текстового поля, но это не работает так как мне нужно).
function sendData()
	{
		commentForm.find('button').hide().next().show();
		sendDataComment.docid = commentForm.find("#login").val();
		$.post(
			"savecomment.php",
			sendDataComment,
			function(data){
				if(data)
				{
					data = $.parseJSON(data);
					var errors ='';
					$.each(data, function(i, val) {
						errors += val+'\n';
						
					});
					//return ("textarea").addClass('error-data');
					commentForm.find('button').show().next().hide();
					//alert(errors);
					
				}
				else 
					formToComment(); 
			}
		)

Последний раз редактировалось Perumov, 18.12.2012 в 13:41. Причина: Предоставление кода
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2012, 23:59
Интересующийся
Отправить личное сообщение для Perumov Посмотреть профиль Найти все сообщения от Perumov
 
Регистрация: 18.12.2012
Сообщений: 19

Неужели нет знающих людей, которые разбираются в вопросе?
Ответить с цитированием
  #3 (permalink)  
Старый 19.12.2012, 02:59
Аватар для pikko
Аспирант
Отправить личное сообщение для pikko Посмотреть профиль Найти все сообщения от pikko
 
Регистрация: 06.10.2012
Сообщений: 60

Из приведенного кода неясно что именно возвращает сервер и можно ли это использовать для идентификации полей формы.
И в общем случае, корректность заполнения полей лучше проверять до отправки серверу.

Последний раз редактировалось pikko, 19.12.2012 в 04:17.
Ответить с цитированием
  #4 (permalink)  
Старый 19.12.2012, 10:11
Аватар для ОлегА
Профессор
Отправить личное сообщение для ОлегА Посмотреть профиль Найти все сообщения от ОлегА
 
Регистрация: 25.08.2011
Сообщений: 420

function sendData()
	{ 
        var ret = {'result' : true};
		commentForm.find('button').hide().next().show();
		sendDataComment.docid = commentForm.find("#login").val();
		$.post(
			"savecomment.php",
			sendDataComment,
			function(data){
				if(data)
				{
					data = $.parseJSON(data);
					var errors ='';
					$.each(data, function(i, val) {
						errors += val+'\n';
						
					});
                                        
                    if(errors)
                         ret['result'] = false;

					//return ("textarea").addClass('error-data');
					commentForm.find('button').show().next().hide();
					//alert(errors);
					
				}
				else 
					formToComment(); 
			}
		)

return  ret['result'];
}

if(! sendData()){
/*  ошибки в каких то полях */
}
Ответить с цитированием
  #5 (permalink)  
Старый 19.12.2012, 11:54
Интересующийся
Отправить личное сообщение для Perumov Посмотреть профиль Найти все сообщения от Perumov
 
Регистрация: 18.12.2012
Сообщений: 19

Ребята, спасибо, что откликнулись. В "i" каждого цикла содержится имя поля, в котором возникла ошибка - author и comment
Вот так данные отправляются с этих полей, функция первоочередная перед той, которою я показал в первом топике
$('#newComment button').live('click',function(){
		sendDataComment.author = commentForm.find("input[name='name']").val();
		sendDataComment.comment = commentForm.find("textarea").val();
		sendData();
	});

Проблема в том, чтобы присоединить к этим полям дополнительный класс CSS, который будет изменять у них фоновый цвет в случае отправки на сервер пустых значений.

Последний раз редактировалось Perumov, 19.12.2012 в 12:03.
Ответить с цитированием
  #6 (permalink)  
Старый 20.12.2012, 20:15
Интересующийся
Отправить личное сообщение для Perumov Посмотреть профиль Найти все сообщения от Perumov
 
Регистрация: 18.12.2012
Сообщений: 19

Уважаемые профи, помогите, пожалуйста, разобраться...
Ответить с цитированием
  #7 (permalink)  
Старый 20.12.2012, 20:40
Аватар для ОлегА
Профессор
Отправить личное сообщение для ОлегА Посмотреть профиль Найти все сообщения от ОлегА
 
Регистрация: 25.08.2011
Сообщений: 420

излагай вопрос то
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с выводом массива на консоль Vempel jQuery 1 06.08.2012 15:57
Проблема с выводом xml в грид WalterScott ExtJS 5 20.06.2012 01:01
Проблема с выводом информации после запроса с помощью ajax Dimario AJAX и COMET 0 23.07.2011 17:08
Проблема с выводом скрипта на страницу Mike_S. Общие вопросы Javascript 8 14.06.2011 07:26
Проблема с выводом контента в топ-панели Slavk0 Общие вопросы Javascript 0 28.03.2011 11:39