помогите разобраться с javascript

verhmax
На сайте с 01.12.2005
Offline
191
543

Добрый день. вот мучаюсь уже долго и не могу понять в чём причина:-(

Есть сайт, на нём выводяться несколько картинок. возле каждой картинки type=radio пользователю неудобно попадать в маленькую дырочку. хочу сделать чтоб срабатывало checked при нажатии на саму кратинку.

значит код javascript:

function begcolor(group)

{

el = document.form.elements;

for (i = 0; i < el.length; i++)

if (el.name=='R1' && el.value==group) el.checked=true;
}

код php:

<input type=\"radio\" checked value=$images name=\"R1\">
<a href=\"javascript:begcolor($images)\"><img src=$images></a>


почему не срабатывает при нажатии?

P
На сайте с 08.03.2007
Offline
250
#1

Отладку попробуйте делать в FireFox под FireBug.

А вообще Ваш код просто дикий...

Brand from Amber
На сайте с 18.08.2007
Offline
293
#2

verhmax, если следовать Вашей логике, то должно быть так (рабочий HTML-код):

<SCRIPT language="JavaScript">

function begcolor(group)
{
el = document.getElementsByName("R1")
for (i = 0; i < el.length; i++)
if (el.name=='R1' && el.value==group) el.checked=true;
}
</SCRIPT>

<input type="radio" value="http://img.searchengines.ru/forum/customavatars/avatar10874_7.gif" name="R1">
<a href="javascript:begcolor('http://img.searchengines.ru/forum/customavatars/avatar10874_7.gif')">
<img border="0" src="http://img.searchengines.ru/forum/customavatars/avatar10874_7.gif">
</a>
<br>

<input type="radio" value="http://img.searchengines.ru/forum/customavatars/avatar44960_3.gif" name="R1">
<a href="javascript:begcolor('http://img.searchengines.ru/forum/customavatars/avatar44960_3.gif')">
<img border="0" src="http://img.searchengines.ru/forum/customavatars/avatar44960_3.gif">
</a>

...и не забудьте в этом куска ПХП-кода добавить кавычки: href=\"javascript:begcolor('$images')\">

P.S ...а вообще - Pilat + 1 ;)

Лучший способ понять что-то самому - объяснить это другому.
verhmax
На сайте с 01.12.2005
Offline
191
#3

Brand from Amber, спасиба большое. заработало:-) а код это я брал на рабочем сайте. тоесть там работал, а у меня нет:-(

Shtogrin
На сайте с 02.11.2006
Offline
95
#4
verhmax:
а код это я брал на рабочем сайте. тоесть там работал, а у меня нет:-(

Этот код document.form.elements; может работать если есть форма с именем form, т.е.

<form name="form">. Может у вас форма не так называлась.

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
verhmax
На сайте с 01.12.2005
Offline
191
#5
Shtogrin:
Этот код document.form.elements; может работать если есть форма с именем form, т.е.
<form name="form">. Может у вас форма не так называлась.

да, действительно, у меня другое имя. а я и не догадался:-(

K
На сайте с 12.07.2006
Offline
295
Kpd
#6

verhmax, а если просто <label>...</label> ?

M
На сайте с 05.02.2008
Offline
0
#7
Kpd:
verhmax, а если просто <label>...</label> ?

Это не просто, это единственно правильно (семантически) :)

Metronom добавил 08.02.2008 в 03:31

Вот так например, если быть точным:

<form action="_self">

<ul style="list-style: none;">
<li><label for="a"><img src="smile.gif" alt="" /></label><input type="radio" name="x" id="a" value="1" /></li>
<li><label for="b"><img src="laugh.gif" alt="" /></label><input type="radio" name="x" id="b" value="2" /></li>
<li><label for="c"><img src="eek.gif" alt="" /></label><input type="radio" name="x" id="c" value="3" /></li>
<li><label for="d"><img src="drink.gif" alt="" /></label><input type="radio" name="x" id="d" value="4" /></li>
<li><label for="e"><img src="confused.gif" alt="" /></label><input type="radio" name="x" id="e" value="5" /></li>
</ul>
</form>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий