|
|
|
| Здравствуйте! у меня скрипт джаваСкрипте проверки заполняймости поля, у меня два поля, из которых выбирается только одно, как заставить скрипт, проверять только то поле, что выбрано?
<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);
}
|
конечно скриптик - никакой, но работает в разных браузерах. | |
|
|
|
|
|
|
|
для: ronin
(14.05.2009 в 12:15)
| |
if(theForm.name1.style.display == 'block') ...
|
| |
|
|
|
|
|
|
|
для: Balamut182
(14.05.2009 в 12:33)
| | что-то не получается, может надо, не поле сначала проверять, а див?
if(document.getElementById(Category_1).style.display == 'block')
|
правда у меня и так не работает:) | |
|
|
|
|
|
|
|
для: ronin
(14.05.2009 в 13:52)
| | А как оно будет работать, если name приходит из формы? Или проверка идет после сабмита формы и рефреша страницы? Тогда смысла нет в яваскриптовской проверке. | |
|
|
|
|
|
|
|
для: GeorgeIV
(14.05.2009 в 15:25)
| | нет проверка, идет без рефреша - я пробую разные варианты, не могли бы расписать. заранее благодарю! | |
|
|
|
|
|
|
|
для: ronin
(14.05.2009 в 15:39)
| | Мне совсем непонятно - у обоих полей нет видимости, как можно на них фокус натравить?
Побольше кода можно, а то эти куски совсем лишены логики | |
|
|
|
|
|
|
|
для: 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>
|
| |
|
|
|
|
|
|
|
для: ronin
(15.05.2009 в 12:41)
| | >привожу только чего не приводил до этого
Лучше бы и не приводили - тогда народ здесь полагал бы вас более умным, чем вы являетесь на самом деле.
1. Как говорил ныне покойный артист Андрей Каско, исполняя роль командира подводной лодки в фильме "72 метра" - "Когда я читаю то, что вы здесь понаписали, то я чешусь в самых нескромных местах!".
"Выбирете тип публикации" - это что означает?
Вы где учились русскому языку?
"Покажите мне его, и я порву его как Тузик грелку!" (с) там же.
И только не надо ссылаться на то, что это - Форум и вы сюда пришли не ошибки в грамматике проверять.
Прекрасно осознаю, что вам, как и всякому безграмотному лоху, стыдно не будет. Совершенно.
И так же знаю, что модератор данного Форума опять затрёт это моё сообщение.
То ли модератор сам неграмотен, как базарная баба, торгующая семечками на рынке, и потому прикрывает срам себе подобных.
То ли очень хочет, чтобы именно на этом Форуме задавали вопросы самые тупые пользователи рунета. Тогда предлагаю переименовать Форум в "Форум для дебилов".
2. Миллион раз говорено и писано - идентификаторы и имена должны иметь значения, начинающиеся С БУКВЫ, а не с цифры.
А ваш скрипт обращается к элементу, который имеет id="1_1" и тому подобным.
Вы почему себе никнеймом не выбрали 98765_123, а взяли ronin?
Напоследок - совет: спрячьте вообще ВЕСЬ свой код за стилем display: none.
Повторяю - умнее будете выглядеть, чем вы есть на самом деле. | |
|
|
|
|
|
|
|
для: PAT
(15.05.2009 в 14:04)
| | Ну это уже вообще мега откровения) Наверное Вас Алексеем зовут? :) Шутка, будьте добрее к людям.... | |
|
|
|
|
|
|
|
для: 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! Удачи!
ЗЫ: Код работоспособный, проверял :) | |
|
|
|
|
|
|
|
для: ronin
(14.05.2009 в 13:52)
| | >if(document.getElementById(Category_1).style.display == 'block')
>правда у меня и так не работает:)
Не может работать, так как Вы передаете в функцию значение переменной Category_1, а ее значение = NULL, так как ее вообще не существует :) | |
|
|
|
|
|
|
|
для: vml
(15.05.2009 в 14:32)
| | СПАСИБО!!! работает, только маленькая поправочка (Вы, видимо, тоже сидите больше на php, чем на джавескриптах): не elseif, а - else if.
PAT - в нашем городе сегодня светит солнышко, чирикают птички, цветут сады, девушки ходят с голыми ножками и животиками. Иногда нужно нюхать цветочки! | |
|
|
|