Среда, 13 Ноября 2024, 13:37

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите сделать эффект с <td></td>(javascript)
jekiДата: Четверг, 20 Декабря 2012, 17:30 | Сообщение # 1
участник
Сейчас нет на сайте
Всем привет.Я тут задался вопросом как при нажатии на <td></td> через onClick сделать чтоб отметилось радио.Вот пример:
Code
<form action="" method="post">
<table width="46%"  border="0" align="center"  cellspacing="0">
   <tr>
     <td width="50%" height="25"  onmouseover=\'this.bgColor="#0bda51"\' onmouseout=\'this.bgColor=""\'><input name="atak" type="radio" value="1" checked="checked">'.$atk1.'</td>
     <td width="50%" onmouseover=\'this.bgColor="#0bda51"\' onmouseout=\'this.bgColor=""\'><input name="atak" type="radio" value="2">'.$atk2.'</td>
   </tr>
   <tr>
     <td height="26"  onmouseover=\'this.bgColor="#0bda51"\' onmouseout=\'this.bgColor=""\'><input name="atak" type="radio" value="3">'.$atk3.'</td>
     <td  onmouseover=\'this.bgColor="#0bda51"\' onmouseout=\'this.bgColor=""\'><input name="atak" type="radio" value="4">'.$atk4.'</td>
   </tr>
</table>
<center><input name="submit" type="submit" value="Заменить" /></center>
</form>


Поставьте + плизми

Lord135Дата: Четверг, 20 Декабря 2012, 19:50 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Это на ПХП али на JavaScript? А то что-то непонятно.
jekiДата: Четверг, 20 Декабря 2012, 20:44 | Сообщение # 3
участник
Сейчас нет на сайте
Тему читай javascript конечно же.

Поставьте + плизми

Lord135Дата: Четверг, 20 Декабря 2012, 21:04 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Тогда откуда это:

Quote (jeki)
Code
value="2">'.$atk2.'</td>


?

Добавлено (20.12.2012, 20:55)
---------------------------------------------
Примерно так:

Code

var r=document.GetElementsByName('atak');
   for(i=0;i<r.length;i++){
     if(r[i].value=="Номер_атаки"){r[i].checked="checked";break;}
   }

Добавлено (20.12.2012, 21:02)
---------------------------------------------
И к стати, почему бы не использовать цикл для твоих блоков?
Хотя-бы так:

Code

echo '
<form action="" method="post">
<table width="46%"  border="0" align="center"  cellspacing="0">';
   for($i=1;$i<=$количество_атак;$i++){
     if($i==1){$checked="checked=\"checked\"";}else{$checked="";}
     echo '
     <tr>  
      <td width="50%" height="25"  onmouseover=\'this.bgColor="#0bda51"\' onmouseout=\'this.bgColor=""\'><input     name="atak" type="radio" value="'.$i.'" '.$checked.'>'.$atk1.'</td></tr>
     ';
   }


Как-то так...

Добавлено (20.12.2012, 21:04)
---------------------------------------------
А из $atk - сделать массив. Например:

Code

$atk=array(
1=>"Атака 1",2=>"Атака 2",3=>"Атака 3",4=>"Атака 4"
);


Сообщение отредактировал Lord135 - Четверг, 20 Декабря 2012, 20:50
jekiДата: Пятница, 21 Декабря 2012, 13:24 | Сообщение # 5
участник
Сейчас нет на сайте
Не учи ученого если так атаки нет выдаст -.

Добавлено (21.12.2012, 13:24)
---------------------------------------------
И вообще я просил указать document.что-то там.


Поставьте + плизми

Lord135Дата: Пятница, 21 Декабря 2012, 17:22 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
jeki, Если учёный, то зачем тогда лазать по форумам и просить помощи?

Добавлено (21.12.2012, 17:22)
---------------------------------------------
jeki, И да. Если бы ты был более внимателен, то заметил бы, что в самом начале моего поста есть код по интересующему тебя вопросу.

jekiДата: Пятница, 21 Декабря 2012, 19:07 | Сообщение # 7
участник
Сейчас нет на сайте
Lord135,ладно.
Code
<script>function atak(num){var r=document.GetElementsByName('atak');
    for(i=0;i<r.length;i++){
      if(r[i].value==num){r[i].checked="checked";break;}
    } }</script><body bgcolor="#000000"><table border="0" align="center" cellspacing="0" style="background:#ffefd5;border-radius:15px;" withg="100%"><tr><td><center><h1><u>Изучение ТМ(НМ) - атаки</u><img src="img/items/TM.png"></h1><br />
Вы хотите использовать ТМ(НМ).Какую атаку заменить?</center>
<form action="" method="post" name="lern">
<table width="46%"  border="1" align="center"  cellspacing="0" >
   <tr>
     <td width="50%" height="25"  onmouseover='this.bgColor="#0bda51"' onmouseout='this.bgColor=""' onClick="atak(1);"><input name="atak" type="radio" value="1" checked="checked">Focus Punch</td>
     <td width="50%" onmouseover='this.bgColor="#0bda51"' onmouseout='this.bgColor=""' onClick="atak(2);"><input name="atak" type="radio" value="2">Focus Punch</td>
   </tr>
   <tr>
     <td height="26"  onmouseover='this.bgColor="#0bda51"' onmouseout='this.bgColor=""' onClick="atak(3);"><input name="atak" type="radio" value="3">Calm Mind</td>
     <td  onmouseover='this.bgColor="#0bda51"' onmouseout='this.bgColor=""' onClick="atak(4)"><input name="atak" type="radio" value="4">Flame Wheel</td>
   </tr>
</table>
<center><input name="submit" type="submit" value="Заменить" /></center>
</form></td></tr></table></body></html>


Не работает сделал так.


Поставьте + плизми

GECKДата: Пятница, 21 Декабря 2012, 19:36 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
Название функции не должно совпадать с именем радиогруппы. Переименуй функцию, например в "checkAttack".

Всё гениальное просто. И хреново работает.
jekiДата: Пятница, 21 Декабря 2012, 19:45 | Сообщение # 9
участник
Сейчас нет на сайте
GECK, все равно не работает.

Поставьте + плизми

Lord135Дата: Суббота, 22 Декабря 2012, 17:23 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
Но тем-не-менее у тебя в подписи красуется "Гильдия программистов". biggrin

Добавлено (22.12.2012, 17:23)
---------------------------------------------
Возможно стоит попробовать так:

Код

цикл for
if(document.имя_формы.r[i].value==нужное_значение){...твой код...} //например: if(document.lern.r[i].value==num){...код...}
end цикл for
TalcoДата: Суббота, 22 Декабря 2012, 20:56 | Сообщение # 11
почетный гость
Сейчас нет на сайте
Код
  function checkRadio(id){
     var obj = document.getElementsByName('atak');
       obj[id].checked = true;
   }

Код
<td onclick="checkRadio(2);"><input name="atak" type="radio" value="3">blabla</td>


xNova: Революция
jekiДата: Суббота, 22 Декабря 2012, 21:53 | Сообщение # 12
участник
Сейчас нет на сайте
Lord135, я в javascript не силен те в нем я нуб.

Поставьте + плизми

  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг