Javascript.RU

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

подскажите как изменить скрипт, вывести текст на странице а не через модальное окно.
здравствуйте
подскажите пожалуйста как можно заменить alert, чтобы вместо модального окна с текстом и кнопкой "ок", появлялся этот-же текст на странице (в определённом месте)
(нужно это для проверки введённых пользователем данных, и в какой-то степени похоже на сообщения которые появляются в Gmail при неправильном заполнении логина или пароля, под полями ввода)

вот эта часть кода которая выводит это окно
if(!return_value)
alert(error_msg);
return return_value;
мои догадки как это сделать: если бы как-то заменить alert, на что-нибудь для вывода текста на страницу, и по id выводить его в определённом месте. но как это сделать не знаю.

буду благодарен за любую помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 14.10.2011, 02:20
Аватар для systemiv
Профессор
Отправить личное сообщение для systemiv Посмотреть профиль Найти все сообщения от systemiv
 
Регистрация: 19.08.2011
Сообщений: 186

document.write('text');
Ответить с цитированием
  #3 (permalink)  
Старый 14.10.2011, 02:28
rav rav вне форума
Новичок на форуме
Отправить личное сообщение для rav Посмотреть профиль Найти все сообщения от rav
 
Регистрация: 14.10.2011
Сообщений: 8

Сообщение от systemiv Посмотреть сообщение
document.write('text');
спасибо что откликнулись!
я так пробовал, и вместо модального окна с текстом, появлялся нужный текст на пустой странице, и она вроде грузилась все время.

может вы знаете как сделать чтоб не на пустой, а на той же где и форма?
Ответить с цитированием
  #4 (permalink)  
Старый 14.10.2011, 03:14
Аватар для yashka525
Mr. Jacob
Отправить личное сообщение для yashka525 Посмотреть профиль Найти все сообщения от yashka525
 
Регистрация: 20.01.2011
Сообщений: 194

Сообщение от rav
появлялся нужный текст на пустой странице, и она вроде грузилась все время.
Посмотрите в Developer Tool, может ошибка где.
Ответить с цитированием
  #5 (permalink)  
Старый 14.10.2011, 03:41
rav rav вне форума
Новичок на форуме
Отправить личное сообщение для rav Посмотреть профиль Найти все сообщения от rav
 
Регистрация: 14.10.2011
Сообщений: 8

вот код, думаю для вас и без Developer Tool будет всё понятно, я даже и комменты не убирал, и не переделывал, такой какой скачал, там без моих изменений всё работает, но нужно чтобы вместо модального окна, текст выводился на этой же странице.
<script type="text/javascript"><!--
function checkForm(obj){
var return_value = true;
// заносим значение поля почтовый ящик в переменную mail
var mail = obj.email.value;
// заносим значение поля отправитель в переменную sender
var sender = obj.name.value;
// заносим значение поля сообщение в переменную msg
var msg = obj.mess.value;
// регулярное выражение для проверки почтового ящика
var reg_mail = /[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}/i;
// регулярное выражение для проверки отправителя
var reg_sender = /[a-z]+/i;
// объявляем переменную, куда будет заноситься текст сообщения об ошибке
var error_msg = "Некорректно заполнены поля: ";
//проверка поля отправитель
if(reg_sender.exec(sender) == null && sender ==""){
error_msg += "Ваше имя ";
return_value = false;
}
//проверка поля почтовый ящик
if(reg_mail.exec(mail) == null){
error_msg += "Ваш e-mail ";
return_value = false;
}
//проверка поля текст сообщения
if(msg == ""){
error_msg += "Ваше сообщение ";
return_value = false;
}
//проверка на наличие ошибок, если возникла ошибка, выводим текст сообщения
if(!return_value)
alert(error_msg);
return return_value;
}//-->
</script>

вместо alert(error_msg); писал document.write(error_msg); вот и получалось так как написал выше. но ведь, на сколько я понимаю, текст ещё нужно вывести в определённом месте на странице, может если бы это сделать всё бы работало, во общем я не знаю как сделать, поэтому и спрашиваю. (javascript не знаю, только на уровне немного подправить под себя чей-то скрипт) помощь нужна очень
большое спасибо за отклики, тем более в такое время
Ответить с цитированием
  #6 (permalink)  
Старый 14.10.2011, 03:46
Аватар для yashka525
Mr. Jacob
Отправить личное сообщение для yashka525 Посмотреть профиль Найти все сообщения от yashka525
 
Регистрация: 20.01.2011
Сообщений: 194

Окей, около формы (или где там хотите) создаете div с любым id (можно <div id="error"></div>), и в место alert(error_msg); пишите document.getElementById('error').innerHTML = error_msg;. Всех делов-то

P.S. Не забудьте скрипт расположить ниже form, иначе все сломается.
Ответить с цитированием
  #7 (permalink)  
Старый 14.10.2011, 04:25
rav rav вне форума
Новичок на форуме
Отправить личное сообщение для rav Посмотреть профиль Найти все сообщения от rav
 
Регистрация: 14.10.2011
Сообщений: 8

да уж
я предполагал что это просто переделать, но уже пару дней ни сам ни в интернете ничего не мог сделать/нагуглить

сделал как вы сказали - работает! (только я сначала расположил не ниже form, и всё равно работает)

если вам не трудно не могли бы вы мне объяснить:
*почему нужно размещать этот javascript ниже form-ы? (обычно его же в хедере размещают)
*и на счёт getElementById, я английский язык знаю не на много больше чем javascript, но всё же уже насторожился
что это может означать? (кстати нашёл на этом форуме вот)
Сообщение от e-do Посмотреть сообщение
aiky, не, это не подходит, кстати посмотрите вот это про getElementById http://www.factsandpeople.com/facts-...getelementbyid
Ответить с цитированием
  #8 (permalink)  
Старый 14.10.2011, 04:34
Аватар для yashka525
Mr. Jacob
Отправить личное сообщение для yashka525 Посмотреть профиль Найти все сообщения от yashka525
 
Регистрация: 20.01.2011
Сообщений: 194

1. Иногда элементы, к которым мы обращаемся, загружаются медленнее, чем скрипт. По этому скрипт не находит нужный элемент и работает не корректно, выдавая ошибку. Это относится не только к form, но и ко всем остальным элементам.
2. Если уж опасаться того, что описано по той линке, то div можно сделать не пустым, вставив в него <span></span> например...
Ответить с цитированием
  #9 (permalink)  
Старый 14.10.2011, 04:45
rav rav вне форума
Новичок на форуме
Отправить личное сообщение для rav Посмотреть профиль Найти все сообщения от rav
 
Регистрация: 14.10.2011
Сообщений: 8

1. а где именно? сразу после </form>
2. я по замыслу так собирался: <div id="error">&nbsp;</div> (для дизайна нужно), это же по смыслу что же самое? прокатит?
Ответить с цитированием
  #10 (permalink)  
Старый 14.10.2011, 04:48
Аватар для yashka525
Mr. Jacob
Отправить личное сообщение для yashka525 Посмотреть профиль Найти все сообщения от yashka525
 
Регистрация: 20.01.2011
Сообщений: 194

1. Где хотите, главное чтоб было после <div id="error">... Можно и после </form>, можно перед </body>. Где удобно.
2. Ога.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите как отобразить текст. potkin Общие вопросы Javascript 17 26.10.2017 15:09
Как вывести возвращаемое функцией значение не через модальное окно? Bandicoot Общие вопросы Javascript 1 10.03.2011 18:34
Как зделать чтобы скрипт срабатывал через определенное каличество посетителей ? volodimirklimenko Общие вопросы Javascript 1 01.12.2010 23:13
Как изменить скрипт, что бы им его можно было использовать для нужной страницы Nick50_70 Общие вопросы Javascript 0 28.04.2009 23:30
Как изменить текст при наведении курсора? sewernik Элементы интерфейса 2 13.04.2009 19:31