Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.19;
Скачать: CL | DM;

Вниз

HTML. Чем можно заменить <input type="submit" ... >?   Найти похожие ветки 

 
SergP ©   (2006-01-29 10:23) [0]

Сабж. Чтобы была не кнопка, а текст (типа ссылки), при нажатии на который происходило бы субмитирование формы?


 
quasiMODE   (2006-01-29 10:28) [1]

Можно изменить стиль кнопки так, чтобы она выглядела как ссылка.

// css
.msg_btn {
 font-family: Arial, Helvetica, sans-serif;
 font-size: ...;
 color: ...;
 border-style: none;
 border-width: 0px;
 cursor: pointer;
 background: ...;
}

// html
<input class="msg_btn" name="newmsg" type="submit" value="Добавить">


 
Gero ©   (2006-01-29 10:38) [2]

onclick="document.getElementById(id_формы).submit()"


 
SergP ©   (2006-01-29 10:52) [3]

хм.. не совсем похоже на ссылку, но пойдет....


 
Gero ©   (2006-01-29 10:54) [4]

> хм.. не совсем похоже на ссылку, но пойдет....

Это можно применить где угодно.


 
SergP ©   (2006-01-29 10:57) [5]


> Gero ©   (29.01.06 10:54) [4]


Я  [3]  писал не про твой пост...

Кстати твое решение ИМХО лучше. Щас проверю...


 
mfender ©   (2006-01-29 12:39) [6]

Правильно так:
<a href="javascript:document.forms.formname.submit();">ссылка</a>


 
kaif ©   (2006-01-29 12:52) [7]

SergP ©   (29.01.06 10:57) [5]

> Gero ©   (29.01.06 10:54) [4]

Я  [3]  писал не про твой пост...

Кстати твое решение ИМХО лучше. Щас проверю...


Не всегда лучше.
У пользователя может быть отключена поддержка JavaScript.


 
mfender ©   (2006-01-29 13:17) [8]


> Не всегда лучше.
> У пользователя может быть отключена поддержка JavaScript.
>

Для таких пользователей вообще решений не напасёшься. Скажу больше: таким лучше вообще сразу выводить сообщение об ошибке, чтобы включили JS. А то, стараешься для них, стараешься... А они зачем-то всё выключают...


 
kaif ©   (2006-01-29 13:39) [9]

2 mfender ©   (29.01.06 13:17) [8]
Если без применения JS никак нельзя обойтись, то я абсолютно согласен с Вашей позицией. Но если есть альтернативное решение при помощи  стиля, то почему бы им не воспользоваться?

В конце концов человек посылает форму.

Можно ведь обойтись и без этого.
Например, вместо посылки формы воспользоваться таким способом посылки параметров на сервер:

function fuckSubmitButtonAndFormAsWell {
location = "www.тыры-пыры?параметр1=" + document.getElementById("нечто1").value + "&параметр2=..."=document.getElementById("нечто2").value + и так далее...
}


:))


 
Kerk ©   (2006-01-29 13:42) [10]

kaif ©   (29.01.06 13:39) [9]
Например, вместо посылки формы воспользоваться таким способом посылки параметров на сервер:


Это уже из области AJAX, для таких вещей используют XMLHttpRequest.


 
Kerk ©   (2006-01-29 13:45) [11]

kaif ©   (29.01.06 13:39) [9]

Как с тобой можно связаться? Что-то аська упорно молчит.


 
Gero ©   (2006-01-29 13:45) [12]

> Не всегда лучше.
> У пользователя может быть отключена поддержка JavaScript.

Да, еще у него может отсутствовать поддержка CSS.

К счастью, таких пользователей << 1% поэтому нужно подумать, стоит ли заморачиваться. А даже если стоит, то <noscript> всегда можно написать.


 
Gero ©   (2006-01-29 13:46) [13]

> Да, еще у него может отсутствовать поддержка CSS.

Или, кстати, может быть отключена.


 
Kerk ©   (2006-01-29 13:47) [14]

Gero ©   (29.01.06 13:45) [12]
К счастью, таких пользователей << 1%


Навигация по сайту должна работать и без JavaScript. Поисковики его не понимают, потому лишишься не куда больше, чем 1%.


 
Gero ©   (2006-01-29 13:47) [15]

> [6] mfender ©   (29.01.06 12:39)
> Правильно так:

Чем так «правильнее»?


 
Kerk ©   (2006-01-29 13:47) [16]

Kerk ©   (29.01.06 13:47) [14]
лишишься не куда больше


лишишься куда больше


 
mfender ©   (2006-01-29 13:47) [17]


> Gero ©   (29.01.06 13:45) [12]

Да, кстати, <noscript> как вариант. Т.е., если JS нет - писать submit.


 
Gero ©   (2006-01-29 13:47) [18]

> Навигация по сайту

Боюсь, что отправка формы мало связана с навигацией по сайту.


 
Gero ©   (2006-01-29 13:49) [19]

> mfender ©   (29.01.06 13:47)

Что такое «document.forms» и где это описано?


 
mfender ©   (2006-01-29 13:51) [20]


> Gero ©   (29.01.06 13:47) [15]
> Чем так «правильнее»?

Потому что, если написать <a href="#" onclick="....">, сначала сработает ссылка, а уж потом будет обработано onclick.


 
Gero ©   (2006-01-29 13:53) [21]

> Потому что, если написать <a href="#" onclick="....">, сначала
> сработает ссылка, а уж потом будет обработано onclick.

href или onclick это дело вкуса, я предпочитаю пистаь в onclick для стандартициции, а в href ставить javascrip:void(0). А вот document.forms явно хуже чем getElementById.


 
mfender ©   (2006-01-29 13:54) [22]


> Что такое «document.forms» и где это описано?

forms - это коллекция форм в документе.
Таким образом можно обращаться к любой форме по её имени. Как следствие, к элементам формы. Т.е., например, document.forms.formName.edit1.value = "sjdfhskj" установит значение поля edit1.
Работает во всех браузерах.


 
Gero ©   (2006-01-29 13:55) [23]

> mfender ©   (29.01.06 13:54)

Я знаю о возможности применения этой конструкции. Где это описано в w3c?


 
mfender ©   (2006-01-29 13:58) [24]


> А вот document.forms явно хуже чем getElementById.

Могу поспорить.
Напиши:

<div name="div1" style="display: block">asdfjhkjasdfhkjashjkas</div>
<a href="javascript:document.getElementById("div1").style.display="none";">вырубить</a>

и попробуй нажать в IE и в FF.
В FF не сработает. Нужно писать <div id="div1" style="display: block">


 
Gero ©   (2006-01-29 14:01) [25]

> В FF не сработает

Есть подозрение, что не только в FF не сработает.
Потому что div name="div1", а вызываем getElementById.


 
Gero ©   (2006-01-29 14:03) [26]

> mfender ©   (29.01.06 13:58)

Кстати, при использовании кода javascript в href меняется url страницы в адресной строке, что нежелательно.


 
mfender ©   (2006-01-29 14:05) [27]


> Есть подозрение, что не только в FF не сработает.
> Потому что div name="div1", а вызываем getElementById.

Вот именно. В IE работает. И в Opera, и даже, кажется в NN7. А в самом распространённом после IE FF - нет. Получается, нужно перелопатить кучу тэгов, чтобы добиться работоспособности.


 
Gero ©   (2006-01-29 14:07) [28]

> Получается, нужно перелопатить кучу тэгов, чтобы добиться
> работоспособности.

Нет, просто нужно српазу писать правильно. А, то что в IE работает что-то, что работать не должно, то это его проблемы.


 
Gero ©   (2006-01-29 14:08) [29]

> mfender ©   (29.01.06 14:05)

Только что проверил — в IE6 это не работает.


 
mfender ©   (2006-01-29 14:12) [30]


> Только что проверил — в IE6 это не работает.

Странно, у меня работает...
Впрочем, пользуюся все равно FF.
Вот, на днях глумился как раз с этим делом (id vs name).
http://www.rusbiz.com/add_class.html (следующая страница после select category)


 
Gero ©   (2006-01-29 14:12) [31]

> А в самом распространённом после IE FF - нет

Надо заметить, там много чего не работает, что майкрософт попридумывал вразрез с w3c.


 
kaif ©   (2006-01-29 14:13) [32]

Kerk ©   (29.01.06 13:45) [11]
kaif ©   (29.01.06 13:39) [9]
Как с тобой можно связаться? Что-то аська упорно молчит.


Я сейчас с Москве. И на моем компьютере здесь аська не установлена.
Можно связаться по почте.
ashot собака lclassic.ru


 
Gero ©   (2006-01-29 14:13) [33]

> Странно, у меня работает

Если это работает, то это просто фича конкретного браузера. Она может быть и ее может не быть. Браузеры приходят и уходят, а w3c остается.


 
Gero ©   (2006-01-29 14:15) [34]


> http://www.rusbiz.com/add_class.html

В Опере выглядит ужасно криво.


 
mfender ©   (2006-01-29 14:20) [35]


> В Опере выглядит ужасно криво.

Это потому, что этим сайтом никто с оперой не пользуется.
Хотя странно - верстальщики и дизайнеры наши почему-то только оперой и пользуются :)


 
Gero ©   (2006-01-29 14:21) [36]

> Это потому, что этим сайтом никто с оперой не пользуется.

Ну я вот воспользовался :)



Страницы: 1 вся ветка

Текущий архив: 2006.02.19;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.05 c
2-1138887535
Apl
2006-02-02 16:38
2006.02.19
TADOQuery


2-1138701837
pavel_guzhanov
2006-01-31 13:03
2006.02.19
Как определить список папок, находящихся внутри заданной папки


15-1138625615
ArtemESC
2006-01-30 15:53
2006.02.19
Получают ли что-то модераторы?


15-1138284048
DelphiMangler
2006-01-26 17:00
2006.02.19
Откомпилировать C-файлы и H-файлы


15-1138686123
Барлог(с)
2006-01-31 08:42
2006.02.19
PS/2 -> COM