- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
есть форма
<form id="search" action="/search/" method="get" name="search">
<input class="search_input" type="text" name="text" maxlength="300" /> <input class="search_bottom" onclick="checkform(this.form.method.value, this.form.text.value); return false;" type="submit" value="Найти" /><br />
<input type="radio" name="method" value="n" checked="checked" />Новости <input type="radio" name="method" value="v" />Видео <input type="radio" name="method" value="f" />Кинофильмы <input type="radio" name="method" value="t" />Телеканалы <input type="radio" name="method" value="r" />Радиостанции
</form>
есть скрипт (тупейший конечно, но это тестовое всё)
function checkform (method,value) {
if (value == '') {
alert("Пожалуйста ввдеите ключевое(ые) слово(а) поискоого запроса");
return false;
}
if (method == 'n') {
return document.location="/search/n/"+value+"/";
}
if (method == 'v') {
return document.location="/search/v/"+value+"/";
}
if (method == 'f') {
return document.location="/search/f/"+value+"/";
}
if (method == 't') {
return document.location="/search/t/"+value+"/";
}
if (method == 'r') {
return document.location="/search/r/"+value+"/";
}
if((!method)){
alert("Пожалуйста ввдеите ключевое(ые) слово(а) поискоого запроса");
return false;
}
}
При выборе radio кнопки должна передаваться только одна, но в данном примере не срабатывает ничего, выбирается вроде одна, но javascript не видит ничего ((
вообщем мысль вроде понятна, может кто посоветует решение на данном примере.
проблема заключается в элементарном, но чёто не могу найти инфу по этому случаю (
method - массив, соответственно в процедуру надо передавать не method.value, а method
и в скрипте обращаться как к массиву.
Пример:
Выбранную кнопку надо искать перебором массива и проверкой свойства checked
if (method.checked === true) ...
function checkform (methodObject,value) {var method = null;
for(var i = 0; i < methodObject.length; i++){
if(methodObject.checked){
method = methodObject.value;
break;
}
}
if (value == '') {
alert("Пожалуйста ввдеите ключевое(ые) слово(а) поискоого запроса");
return false;
}
if (method == 'n') {
return document.location="/search/n/"+value+"/";
}
if (method == 'v') {
return document.location="/search/v/"+value+"/";
}
if (method == 'f') {
return document.location="/search/f/"+value+"/";
}
if (method == 't') {
return document.location="/search/t/"+value+"/";
}
if (method == 'r') {
return document.location="/search/r/"+value+"/";
}
if((!method)){
alert("Пожалуйста ввдеите ключевое(ые) слово(а) поискоого запроса");
return false;
}
}
upd: Не заметил, что Алексей Барыкин уже ответил. :)
aleksey_php, Алексей Барыкин Спасибо огромное!
KosoyRoman добавил 07.03.2009 в 16:51
aleksey_php Скрипт работает в IE, в FF не хочет (((
KosoyRoman обращали когда-нибудь внимание что даже на самых навороченных порталах, обычно вместо radio используют select, даже в таких примитивных случаях как при выборе пола в момент регистрации. Казалось бы - чего там - фигня - две позиции.
Это все от того, что грабли с радио c этим обычно...
Совет на все случаи жизни:
<input type="hidden" name="real_method" value="n">
<input type="radio" name="method" value="n" checked="checked" onClick="form.real_method.value=this.value;" />Новости
<input type="radio" name="method" value="v" onClick="form.real_method.value=this.value;" />Видео
Дальше я думаю понятно! И циклы никакие не нужны...
malls вот спасибо, у самого не хватило тямы допетрить ))))
malls вот спасибо, у самого не хватило тямы допетрить ))))
Да пожалуйста! :)
aleksey_php, Алексей Барыкин Спасибо огромное!
KosoyRoman добавил 07.03.2009 в 16:51
aleksey_php Скрипт работает в IE, в FF не хочет (((
Проверял именно в FF. Я забыл указать, что здесь:
... нужно this.form.method.value заменить на просто this.form.method, о чём как раз написал Алексей чуть раньше меня.
<form id="search" action="/search/" method="get" name="search">
вообще у тебя похоже проблема была в том, что имя поля совпадает с атрибутом формы :)
Ребят, еще вопрос, как подключить обработчик enter'a + отключить при отключенных javascript и вообще реально такое?
при нажатии entar'а щас переходит по обычному get в форме отключил всё, оставил только <form id="search">