X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Как получить значение формы
Kuchuluk
Kuchuluk
Topic Starter сообщение 24.5.2013, 10:12; Ответить: Kuchuluk
Сообщение #1


с яваскриптом знаком плохо. делаю форму для отправки комментариев. задача такая что если форма пустая и пользователь нажимает на кнопку отправить, то просто ничего не происходит и ничего не отправляется. форма такая
<textarea cols='35' placeholder='Ваш комментарий' rows='3'  id='text-comment'></textarea>
<br><input type='image' name='comment' id='com-button' src='../party/sys-images/com-button1.gif' onclick='proverkaComment()' onMouseOver="this.src='../party/sys-images/com-button2.gif'" onMouseOut="this.src='sys-images/com-button1.gif'">

по событию onclick вызывается функция proverkaComment(), я понимаю, что туда нужно получить значение из textarea и потом проверить равно оно нулю или нет, и присвоить false если равно. Но вопрос в том как получить в эту функцию данные из textarea. Яваскрипт плохо знаю.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
isvetlichniy
isvetlichniy
сообщение 24.5.2013, 10:27; Ответить: isvetlichniy
Сообщение #2


text = document.getElementById('text-comment');
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kuchuluk
Kuchuluk
Topic Starter сообщение 24.5.2013, 10:30; Ответить: Kuchuluk
Сообщение #3


text это переменная?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
isvetlichniy
isvetlichniy
сообщение 24.5.2013, 10:46; Ответить: isvetlichniy
Сообщение #4


var text = document.getElementById('text-comment');


так понятнее? :)

а вообще посмотри вот, когда то я писал статью про валидацию
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kuchuluk
Kuchuluk
Topic Starter сообщение 24.5.2013, 11:03; Ответить: Kuchuluk
Сообщение #5


огромное спасибо!

у вас в статье про jquery рассказывается, а я его еще не учил, я только js учу((

посмотрите пожалуйста, я условие правильно написал или нет. работает, но может не правильно всё-таки.
if (text == 0)
{
document.onclick = function() {return false;}
}
else
{
document.onclick = function() {return true;}
}

Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
isvetlichniy
isvetlichniy
сообщение 24.5.2013, 11:28; Ответить: isvetlichniy
Сообщение #6


а почему text == 0 ? ты же проверяешь на пустое значение

пиши вот так

if (text == '')

или
if (text.length == 0)

когда мне приходится делать валидацию на JS , я делаю вот так
<form method="post" action="" onsubmit="return formValidate();">
<textarea cols='35' placeholder='Ваш комментарий' rows='3'  id='text-comment'></textarea>
<input type="submit">
</form>


ну и сама функция валидации
function formValidate(){  
   if (document.getElementById(text-comment).value == '') {      
   alert('Enter Your Comment');
   return false;    
     }
}


а то как то у тебя все странновато выглядит, если честно
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MEGApixel
MEGApixel
сообщение 24.5.2013, 11:51; Ответить: MEGApixel
Сообщение #7


text = document.getElementById('text-comment');


Так Вы лишь получите ссылку на сам элемент, но ни как ни на его содержимое.

Ваша ф-ия не совсем правильная. Вот так будет лучше:
function formValidate() {
    if (document.getElementById('text-comment').textContent == '') {
        alert('Enter Your Comment');
            return false;
    }
}


Во-первых метод .getElementById() принимает строку или то, что можно преобразовать в строку. А вы ему передаете переменную, которую при том не объявляли. По этому нужно text-comment облачить в кавычки.
И по поводу .value - я ды рекомендовал использовать свойство .textContent. Оно более кроссбраузерное. Хотя, возможно, я не совсем прав. Тут уже дело вкуса.

А если вдруг еще нужно отфильтровать, что пользователь поставил одни пробеллы, то вместо
document.getElementById('text-comment').textContent

можно написать
document.getElementById('text-comment').textContent.replace(/^s+/, '')
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
isvetlichniy
isvetlichniy
сообщение 24.5.2013, 13:23; Ответить: isvetlichniy
Сообщение #8


Во-первых метод .getElementById() принимает строку или то, что можно преобразовать в строку. А вы ему передаете переменную, которую при том не объявляли. По этому нужно text-comment облачить в кавычки.

бляха-муха, та то я наскоро с ошибкой написал. да, ты прав на счет кавычек. уже сто лет не использовал чистый JS
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kuchuluk
Kuchuluk
Topic Starter сообщение 24.5.2013, 14:06; Ответить: Kuchuluk
Сообщение #9


можно написать
document.getElementById('text-comment').textContent.replace(/^s+/, '')

и эту строку кода перед проверкой поставить?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
isvetlichniy
isvetlichniy
сообщение 24.5.2013, 14:34; Ответить: isvetlichniy
Сообщение #10


да это же и есть способ получить значение, тоесть

var text = document.getElementById('text-comment').textContent.replace(/^s+/, '');

Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Большие ставки для кликов в Я.Директ. Как удешевить?
2 rownong27 1119 26.3.2024, 14:13
автор: knezevolk
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
12 uahomka 2291 25.3.2024, 6:52
автор: Skyworker
Открытая тема (нет новых ответов) Как отозвать банковский платеж фрилансеру?
28 metvekot 3913 25.3.2024, 6:34
автор: Skyworker
Открытая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
23 freeax 3639 24.3.2024, 20:55
автор: Liudmila
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 1933 23.3.2024, 7:41
автор: Room


 



RSS Текстовая версия Сейчас: 29.3.2024, 0:44
Дизайн