Проблема с радио кнопками
Здравствуйте, Возникла проблема с радио кнопками, даже уже не пойму в чем проблема, то ли с JS то ли с HTML, то ли руки у меня совсем не с того места уже ростут...
Цель такова, надо ввести в текстовое поле размер файла, выбрать из радио-кнопок Gb или Gb, нажать кнопку - СТАРТ, и по идее код должен сгенерироваться с bb-тегами. Проблема первая, когда клацаю на радиокнопку "Gb", то предыдущая кнопка - Mb остается активной. (это в пункте - Размер) <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" /> <title>1111111111111</title> </head> <body> <div id="header"><h1>Шапка</h1></div> <form action=""> <br /> <table border="1" cellpadding="7" cellspacing="0"> <tr> <td class="left"><b>Заголовок / название фильма: (20pt)</b></td> <td><input type="text" name="zagolovok" size="100" class="form"></td> </tr> <tr> <td class="left"><b>Обложка / постер: (url: прямая ссылка)</b></td> <td><input type="text" name="poster" size="100" class="form"></td> </tr> <tr> <td colspan="2"><b>Информация о фильме<b/></b></td> </tr> <tr> <td class="left"><b>Название:</b></td> <td><input type="text" name="nazvanie" size="100" class="form"></td> </tr> <tr> <td class="left"><b>Оригинальное название:</b></td> <td><input type="text" name="orignaz" size="100" class="form"></td> </tr> <tr> <td class="left"><b>Год выпуска:</b></td> <td><input type="text" name="god" size="100" class="form"></td> </tr> <tr> <td class="left"><b>Жанр:</b></td> <td><input type="text" name="janr" size="100" class="form"></td> </tr> <tr> <td class="left"><b>Режисер:</b></td> <td><input type="text" name="regiser" size="100" class="form"></td> </tr> <tr> <td class="left"><b>В ролях:</b></td> <td><input type="text" name="roli" size="100" class="form"></td> </tr> <tr> <td colspan="2"><b>О фильме / описание<b/><br /><textarea name="opisanie" rows="5" cols="100"></textarea></b></td> </tr> <tr> <td colspan="2"><b>Скриншоты:<b/><br /><textarea name="skrins" rows="3" cols="100"></textarea></b></td> </tr> <tr> <td colspan="2"><b>Информация о файле<b/></b></td> </tr> <tr> <td class="left"><b>Тип файла:</b></td> <td><select name="tfile" size="1"> <option value="" selected=""> </option> <option value="MP4"> MP4 </option> <option value="AVI"> AVI </option> <option value="FLV"> FLV </option> <option value="MKV"> MKV </option> </select> </td> </tr> <tr> <td class="left"><b>Качество:</b></td> <td><input type="text" name="kachestvo" size="100" class="form"></td> </tr> <tr> <td class="left"><b>Продолжительность:</b></td> <td><input type="text" name="hour" maxlength="2" size="1" class="form">:<input type="text" name="minute" maxlength="2" size="1" class="form">:<input type="text" name="second" maxlength="2" size="1" class="form"></td> </tr> <tr> <td class="left"><b>Видео кодек:</b></td> <td><input type="text" name="vid" size="100" class="form"></td> </tr> <tr> <td class="left"><b>Аудио кодек:</b></td> <td><input type="text" name="zvuk" size="100" class="form"></td> </tr> <tr> <td class="left"><b>Размер:</b></td> <td><input type="text" name="size" size="100" class="form"><input type="radio" checked="checked" name="megabite" value="mb">Mb <input type="radio" name="gigabite" value="gb">Gb</td> </tr> <tr> <td class="left"><b>Скачать:</b></td> <td><input type="text" name="down" size="100" class="form"></td> </tr> <tr> <td colspan="2"><input type="button" value="СТАРТ" onclick="create(this.form)" class="buttonformal"> <input type="reset" value="Очистить все поля"class="buttonformal"><br /><textarea name="story" rows="20" cols="100"></textarea></td> </tr> </table> </form> <div id="footer">© Подвал</div> </body> </html> Проблема вторая. именно эта часть кода не хочет работать как надо. Хотя, возможно если решить проблему выше, то и эта сама собой исчезнет) if (form.size.value != "") { form.story.value +="[b]Размер:[/b] " + form.size.value + "\n"; } if (form.mb.value != "") { form.story.value +="m" + form.mb.value + ""; } if (form.gb.value != "") { form.story.value +="b" + form.gb.value + "\n"; } |
Цитата:
|
Цитата:
В JS в смысле так? // текстовое поле if (form.size.value != "") { form.story.value +="[b]Размер:[/b] " + form.size.value + "\n"; } // radio Mb if (form.mb.value != "") { form.story.checked +="m" + // <--- form.mb.value + ""; } // radio Gb if (form.gb.value != "") { form.story.checked +="b" + // <--- form.gb.value + "\n"; } А что с самой кнопкой не так? Не, ну с ней что-то не так конечно, но я уже с какого-то сайта тупо скопировал эти кнопки "radio", все равно тоже самое. |
Цитата:
|
Цитата:
create есть, я его просто на форуме не дописал. wait_visibility('generator', 0);function create(form) { form.story.value=""; if (form.size.value != "") { form.story.value +="[b]Размер:[/b] " + form.size.value + "\n"; } if (form.mb.value != "") { form.story.value +="Mb" + form.mb.value + ""; } if (form.gb.value != "") { form.story.value +="Gb" + form.gb.value + "\n"; }} |
так для этого фаербаг есть. в хроме f12 вызывается. пишем:
console.log(form.mb) if (form.mb.value != "") { form.story.value +="Mb" + form.mb.value + ""; } в консоль выдает undefined, а значит объект не найден. т.е. его нет. либо имя не верное либо еще что то... |
px379,
http://learn.javascript.ru/searching-elements-dom упорно медитируем на этой странице пока не просветлеет как обращаться к элементу по имени http://learn.javascript.ru/form-elem...put-type-radio здесь медитация на как проверить чекед |
Цитата:
|
лан, смотри:
<tr> <td class="left"><b>Размер:</b></td> <td><input type="text" name="size" size="100" class="form"><input type="radio" checked="checked" name="megabite" value="mb">Mb <input type="radio" name="megabite" value="gb">Gb</td> </tr> имя у радибатанов должно быть одинаковое, допустим так:megabite тогда обращаемся с нему так: console.log(form.megabite); будет массив из двух элементов.. (т.к. их действительно два с таким именем) и можно обратиться к конкретному элементу:console.log(form.megabite[0]); |
Часовой пояс GMT +3, время: 10:12. |