Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проверка на заполняймость скрытого поля
 
 автор: ronin   (14.05.2009 в 12:15)   письмо автору
 
 

Здравствуйте! у меня скрипт джаваСкрипте проверки заполняймости поля, у меня два поля, из которых выбирается только одно, как заставить скрипт, проверять только то поле, что выбрано?

<div id="Category_2" style="display:none;">
<textarea rows="3"  name="name" id="name1"  style="width: 370px;" cols="3" WRAP="physical"><?echo ($_POST['name'])?></textarea>
</div>
<div id="Category_1" style="display:none;">
 <input type="file" name="file" id="fa" size="17">
</div>

проверка

function Validator(theForm)
{

if (theForm.name1.value == "")
  {
    alert("Введите, пожалуйста, тему !");
    theForm.name1.focus();
    return (false);
  }

  if (theForm.fa.value == "")
  {
    alert("Введите,пожалуйста, файл!");
    theForm.fa.focus();
    return (false);
  }
  return (true);
}

конечно скриптик - никакой, но работает в разных браузерах.

  Ответить  
 
 автор: Balamut182   (14.05.2009 в 12:33)   письмо автору
 
   для: ronin   (14.05.2009 в 12:15)
 


if(theForm.name1.style.display == 'block') ...

  Ответить  
 
 автор: ronin   (14.05.2009 в 13:52)   письмо автору
 
   для: Balamut182   (14.05.2009 в 12:33)
 

что-то не получается, может надо, не поле сначала проверять, а див?

if(document.getElementById(Category_1).style.display == 'block')

правда у меня и так не работает:)

  Ответить  
 
 автор: GeorgeIV   (14.05.2009 в 15:25)   письмо автору
 
   для: ronin   (14.05.2009 в 13:52)
 

А как оно будет работать, если name приходит из формы? Или проверка идет после сабмита формы и рефреша страницы? Тогда смысла нет в яваскриптовской проверке.

  Ответить  
 
 автор: ronin   (14.05.2009 в 15:39)   письмо автору
 
   для: GeorgeIV   (14.05.2009 в 15:25)
 

нет проверка, идет без рефреша - я пробую разные варианты, не могли бы расписать. заранее благодарю!

  Ответить  
 
 автор: GeorgeIV   (15.05.2009 в 12:34)   письмо автору
 
   для: ronin   (14.05.2009 в 15:39)
 

Мне совсем непонятно - у обоих полей нет видимости, как можно на них фокус натравить?
Побольше кода можно, а то эти куски совсем лишены логики

  Ответить  
 
 автор: ronin   (15.05.2009 в 12:41)   письмо автору
 
   для: GeorgeIV   (15.05.2009 в 12:34)
 

для экономии места привожу только чего не приводил до этого:
все это в форме, при выборе в селекте

<select name="type" id="Category" onchange="selectCategory('Category')">
      <option value='0'>Выбирете тип публикации</option>
       <option value='1'>Новость</option>
       <option value='2'>Картинка</option>
      </select>

открывается скрытый див: как в начале поста.
ниже приводится скрипт механизма:

<script>
function selectCategory(name)
{
var cat = document.getElementById(name).value;
if(cat == 2  ) {
document.getElementById(name+'_1').style.display = "";
document.getElementById(name+'_2').style.display = "none";

}else{
document.getElementById(name+'_1').style.display = "none";
document.getElementById(name+'_2').style.display = "";

}
}
</script>

  Ответить  
 
 автор: PAT   (15.05.2009 в 14:04)   письмо автору
 
   для: ronin   (15.05.2009 в 12:41)
 

>привожу только чего не приводил до этого

Лучше бы и не приводили - тогда народ здесь полагал бы вас более умным, чем вы являетесь на самом деле.

1. Как говорил ныне покойный артист Андрей Каско, исполняя роль командира подводной лодки в фильме "72 метра" - "Когда я читаю то, что вы здесь понаписали, то я чешусь в самых нескромных местах!".
"Выбирете тип публикации" - это что означает?
Вы где учились русскому языку?
"Покажите мне его, и я порву его как Тузик грелку!" (с) там же.

И только не надо ссылаться на то, что это - Форум и вы сюда пришли не ошибки в грамматике проверять.
Прекрасно осознаю, что вам, как и всякому безграмотному лоху, стыдно не будет. Совершенно.

И так же знаю, что модератор данного Форума опять затрёт это моё сообщение.
То ли модератор сам неграмотен, как базарная баба, торгующая семечками на рынке, и потому прикрывает срам себе подобных.
То ли очень хочет, чтобы именно на этом Форуме задавали вопросы самые тупые пользователи рунета. Тогда предлагаю переименовать Форум в "Форум для дебилов".

2. Миллион раз говорено и писано - идентификаторы и имена должны иметь значения, начинающиеся С БУКВЫ, а не с цифры.
А ваш скрипт обращается к элементу, который имеет id="1_1" и тому подобным.
Вы почему себе никнеймом не выбрали 98765_123, а взяли ronin?

Напоследок - совет: спрячьте вообще ВЕСЬ свой код за стилем display: none.
Повторяю - умнее будете выглядеть, чем вы есть на самом деле.

  Ответить  
 
 автор: vml   (15.05.2009 в 14:28)   письмо автору
 
   для: PAT   (15.05.2009 в 14:04)
 

Ну это уже вообще мега откровения) Наверное Вас Алексеем зовут? :) Шутка, будьте добрее к людям....

  Ответить  
 
 автор: vml   (15.05.2009 в 14:23)   письмо автору
 
   для: ronin   (15.05.2009 в 12:41)
 

По-моему проще некуда, как вот так:


function Validator(theForm) { 

 if (theForm.name1.value == "" && document.getElementById('Category_2').style.display == "")  { 

    alert("Введите, пожалуйста, тему !"); 
    theForm.name1.focus(); 
    return (false); 
 }  elseif (theForm.fa.value == "" && document.getElementById('Category_1').style.display == "")   { 

    alert("Введите,пожалуйста, файл!"); 
    theForm.fa.focus(); 
    return (false); 
  } 
  return (true); 
}


Но это реально изврат :) Уж, если хотите мега красивости, то юзайте Ajax! Удачи!

ЗЫ: Код работоспособный, проверял :)

  Ответить  
 
 автор: vml   (15.05.2009 в 14:32)   письмо автору
 
   для: ronin   (14.05.2009 в 13:52)
 

>if(document.getElementById(Category_1).style.display == 'block')

>правда у меня и так не работает:)


Не может работать, так как Вы передаете в функцию значение переменной Category_1, а ее значение = NULL, так как ее вообще не существует :)

  Ответить  
 
 автор: ronin   (15.05.2009 в 17:17)   письмо автору
 
   для: vml   (15.05.2009 в 14:32)
 

СПАСИБО!!! работает, только маленькая поправочка (Вы, видимо, тоже сидите больше на php, чем на джавескриптах): не elseif, а - else if.
PAT - в нашем городе сегодня светит солнышко, чирикают птички, цветут сады, девушки ходят с голыми ножками и животиками. Иногда нужно нюхать цветочки!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования