Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 17.07.2015, 09:35
Интересующийся
Отправить личное сообщение для ru_rikki Посмотреть профиль Найти все сообщения от ru_rikki
 
Регистрация: 25.02.2015
Сообщений: 24

У вас рендер на сервере или в браузере?
в данном случае на сервере
часть атрибутов не во всех браузерах работает к сожалению, поэтому пусть будет колхозный но верный рендер, с area лично не связываюсь, беру только железно протестированный во всех браузерах bootstrap, мне бы это зло домучить и с js можно завязать, на все остальное хватает арсенала bootstrapa
kostyanet, здесь не только ошибки, здесь еще счетчик количества символов и очистка в случае ввода запрещенных символов с возможностью подключения и отключения в зависимости от поля

чтобы понятней http://citr.tk в поле "название" что-нибудь наберите, двойной клик очистить поле

Последний раз редактировалось ru_rikki, 17.07.2015 в 09:47.
Ответить с цитированием
  #12 (permalink)  
Старый 17.07.2015, 09:37
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Ладно, тогда вместо

if (reg.test(element.value)) {

надо

if (valSet.reg.test(element.value)) {
Ответить с цитированием
  #13 (permalink)  
Старый 17.07.2015, 09:40
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от ru_rikki
часть атрибутов не во всех браузерах работает к сожалению
Такие атрибуты как errmsg вообще нигде не работают, и что с того? Для того есть метод element.getAttribute('errmsg'); как и было в примере выше.

Не важно, все равно эта ваша функция - дикая лапша. Между тем вы сами, выше, заявили о желании что-то там цивилизовать.

Видите как быстро баттхерт может заставить захотеть одичать.
Ответить с цитированием
  #14 (permalink)  
Старый 17.07.2015, 09:50
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от ru_rikki
с area лично не связываюсь
Что за area?
Ответить с цитированием
  #15 (permalink)  
Старый 17.07.2015, 10:04
Интересующийся
Отправить личное сообщение для ru_rikki Посмотреть профиль Найти все сообщения от ru_rikki
 
Регистрация: 25.02.2015
Сообщений: 24

kostyanet, спасибо заработало, сейчас посмотрю ваш вариант, но плохо что сразу нельзя все в одной связке сделать и валидация и счетчик и очистка
сорри ARIA http://www.w3.org/TR/aria-in-html/ да и вообще вся эта расширенная семантика. Я не прогер мне надо просто сделать свою базу, А все эти навороты больше для какх-то онлайн игрушек подходят ИМХО конечно
Ответить с цитированием
  #16 (permalink)  
Старый 17.07.2015, 10:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от ru_rikki
if (valSet.reg.test(element.value))
Ответить с цитированием
  #17 (permalink)  
Старый 17.07.2015, 10:26
Интересующийся
Отправить личное сообщение для ru_rikki Посмотреть профиль Найти все сообщения от ru_rikki
 
Регистрация: 25.02.2015
Сообщений: 24

рони, да уже исправила)
Ах да забыла: какие риски использования ассоциативных массивов?

Последний раз редактировалось ru_rikki, 17.07.2015 в 10:29.
Ответить с цитированием
  #18 (permalink)  
Старый 17.07.2015, 10:37
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от ru_rikki
но плохо что сразу нельзя все в одной связке сделать и валидация и счетчик и очистка

Это потому что вы не прогер вам плохо, а прогерам очень плохо от таких вот кодов, как у вас, непрогреров.

Я показал лишь часть файла, этот объект сам только проверется, а рендером занимается контроллер, в который кидаются throw.


Никаких рисков нет, одни только бонусы. А вот какие бонусы дают фичи для инвалидов? Они что, начали активно тратить свои пенсии в интернете или статьи читать?

Последний раз редактировалось kostyanet, 17.07.2015 в 10:39.
Ответить с цитированием
  #19 (permalink)  
Старый 17.07.2015, 10:45
Интересующийся
Отправить личное сообщение для ru_rikki Посмотреть профиль Найти все сообщения от ru_rikki
 
Регистрация: 25.02.2015
Сообщений: 24

"Это потому что вы не прогер вам плохо, а прогерам очень плохо от таких вот кодов, как у вас, непрогреров" ну что поделаешь... лень матушка... итак свой индусский код месяц переделывала, чтобы можно было задавать вопросы на php.ru) и тебе при этом не только отвечали но и понимали) лень и неохота, сделаю базу ... потом может как тех задание скину в какой-нибудь продвинутый центр разработки за деньги и сделаю шедевр, а так пракически невозможно описать что тебе конкретно нужно, итог один сайт глазами прогера, а не потребителя
Ответить с цитированием
  #20 (permalink)  
Старый 17.07.2015, 10:49
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

В "контроллере" примерно такая система

var fields={}, /* здесь все те самые поля-объекты */

validate=function(e) { /* это самое и вешается на всякие там события у полей */

	var f=fields[this.name];
	
	if(f.error) { /* если уже был косяк то стереть */
		f.el.title=f.title;
		f.el.classList.remove('invalid');
		f.error=null;
	}
	
	try {
		f.validate();
	}
	catch(err) {
		
		submit.disabled=f.error=true;
		
		if(e.type!='input') { /* рендерит ошибку если сработало по событию, по вызову из скрипта - нет */
			f.title=f.el.title;
			f.el.title=err;
			f.el.classList.add('invalid');
		}
	}
},


То есть весь рендер заключается в обвести поле красной рамкой и поменять его title чтоб чел мог подвести мышь и почитать что надо сделать.

Я проверял несколько дизайнов сообщений об ошибках и пришел к выводу что такой - самый лучший. Он кстати с нативным полностью совпадает как вы уже поняли.

Последний раз редактировалось kostyanet, 17.07.2015 в 10:55.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
innerHTML для TR в InternetExplorer не работает? Непонятливый Элементы интерфейса 3 15.10.2012 17:14
JS: работает на сервере, не работает из папки -majestic- Общие вопросы Javascript 2 02.08.2012 14:41
Не работает push! Динамическая вставка TSEH25 ExtJS 5 03.07.2012 13:00
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41