Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по скрипту. 
:(
    Опции темы
KPEHDEL
Дата 28.7.2013, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 31.3.2010

Репутация: нет
Всего: нет



Здравствуйте. Есть небольшой скрипт, который проверяет введён ли в поля текст, после чего делает кнопку активной.
Код

<head> 
<script> 
// перечисляем в кавычках значение name всех элементов которые требуется проверять
var text=new Array( 'input','txa' );

// Имя формы.
var f = "document.formName";
 
// name кнопки отправки.
var k = "send";
 
function checkForm() {
    var disable = 0;
    var c = 0;
    
    for( var i = 0; i < text.length; i++ ) { 
        eval( 'if('+f+'.'+text[i]+'.value == "") {disable =+1}' ); 
    }
    c = 0;
    
    if( c != 0) { disable=+1 } 
 
    if( disable != 0 ) {
        eval(f+'.'+k+'.disabled=true');
    } else {
        eval(f+'.'+k+'.disabled=false');
    } 
}
</script> 
</head> 
<body onLoad="eval(f+'.'+k+'.disabled=true');"> 
    <form name="formName" action="/"> 
        <input type="text" name="input" onKeyUp="checkForm()" onBlur="checkForm()"><br> 
        <textarea name="txa" onKeyUp="checkForm()" onBlur="checkForm()"></textarea><br> 
        <input type="submit" name="send" value="Submit"> 
    </form>
</body>


Однако если в имени input будет "/" например, name="Discussion/input", тогда данный скрипт работать не будет.
Подскажите пожалуйста почему и как это можно исправить?

С нетерпением жду ответа, заранее спасибо.
PM MAIL WWW ICQ   Вверх
Sanchezzz
Дата 28.7.2013, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 3
Всего: 60



Тогда нужно обратится к этому полю по имени ключа  document.formName['Discussion/input'].value
Так как вы используете eval у вас происходит деление строки на строку)
Зы использовать eval нужно крайне осторожно и разумно,в вашем случаи и без него можно обойтись. 

http://jsfiddle.net/bHgNM/

Это сообщение отредактировал(а) Sanchezzz - 28.7.2013, 13:10


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0596 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.