|
установление флажков (переменных)
|
|
| akkolt | Дата: 06 Января 2010, 00:46 | Сообщение # 1 | ● ● ● ● ● 106 сообщений Статус: Offline | Нужно реализовать систему выбора пользователем флажков при регистрации (к примеру: отметить любимые стили музыки) все переменные сайта уже заняты =-( | | |
|
| bb@code | Дата: 06 Января 2010, 01:21 | Сообщение # 2 | ● ● ● ● ● 106 сообщений Статус: Offline | все переменные сайта уже заняты =-( Используй любое дополнительное поле. Например Yahoo. | | |
|
| cucYa | Дата: 06 Января 2010, 01:22 | Сообщение # 3 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Quote все переменные сайта уже заняты Значит никак. | | |
|
| akkolt | Дата: 06 Января 2010, 01:36 | Сообщение # 4 | ● ● ● ● ● 106 сообщений Статус: Offline | bb@code, ну яхуу я могу заменить, вот только как то нужно задавать значение этому полю, i=$n_FL$ не подхоит вот, нашел кое что похожее: Code <input type="checkbox" id="check1" name="check1" /> <input type="checkbox" id="check2" name="check2" /> <input type="checkbox" id="check3" name="check3" /> <input type="checkbox" id="check4" name="check4" /> <input type="checkbox" id="check5" name="check5" /> <input type="checkbox" id="check6" name="check6" /> <input type="checkbox" id="check7" name="check7" /> <input type="checkbox" id="check8" name="check8" /> <input type="checkbox" id="check9" name="check9" /> <input type="checkbox" id="check10" name="check10" /> <input type="button" id="check" value="Проверить" /> <script type="text/javascript"> document.getElementById("check").onclick = function() { var checked = []; var count = 10; var i = 0; while(++i <= count) { if(document.getElementById("check" + i).checked) { checked.push(i); } } alert("Выбраны: " + checked); }; </script> не знаю, как вместо i прибавлять name чекбокса, + при нажатии на кнопку нужно заполнять полученным результатом $YAHOO_FL$ | | |
|
| kydapodatsya | Дата: 06 Января 2010, 02:06 | Сообщение # 5 |  ● ● ● ● ● Дизайнер 2557 сообщений Статус: Offline | akkolt, а чем select не подходит ? | | |
|
| akkolt | Дата: 06 Января 2010, 02:32 | Сообщение # 6 | ● ● ● ● ● 106 сообщений Статус: Offline | kydapodatsya, нет, нужен именно чекбокс, уже сделал, но переменная $яхуу_FL$ не равна переменной $_яхуу$, в форме редактирования персональной информации только $яхуу_FL$Добавлено (06 Январь 2010, 02:29) --------------------------------------------- т.е. как можно при помощи скрипта записать текст в форму ввода input $яхуу_FL$? Добавлено (06 Январь 2010, 02:32) ---------------------------------------------
Code <input type="checkbox" id="check1" name="check1" /> <input type="checkbox" id="check2" name="check2" /> <input type="checkbox" id="check3" name="check3" /> <input type="checkbox" id="check4" name="check4" /> <input type="checkbox" id="check5" name="check5" /> <input type="checkbox" id="check6" name="check6" /> <input type="checkbox" id="check7" name="check7" /> <input type="checkbox" id="check8" name="check8" /> <input type="checkbox" id="check9" name="check9" /> <input type="checkbox" id="check10" name="check10" /> <input type="button" id="check" value="Проверить" /> <script type="text/javascript"> document.getElementById("check").onclick = function() { var checked = []; var count = 10; var i = 0; while(++i <= count) { if(document.getElementById("check" + i).checked) { checked.push(document.getElementById("check" + i).name); } } $_YAHOO$ = checked; }; </script> | | |
|
| cucYa | Дата: 06 Января 2010, 02:57 | Сообщение # 7 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Code document.getElementsByName('yahoo')[0].value = '123'; | | |
|
| akkolt | Дата: 06 Января 2010, 03:33 | Сообщение # 8 | ● ● ● ● ● 106 сообщений Статус: Offline | не работает | | |
|
| cucYa | Дата: 06 Января 2010, 03:47 | Сообщение # 9 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | $_YAHOO$ - это не переменная, которой можно задать любое значение. Это код, который выводит содержимое поля 'Yahoo', которое заполняется на странице редактирования персональной информации пользователя. | | |
|
| akkolt | Дата: 06 Января 2010, 04:29 | Сообщение # 10 | ● ● ● ● ● 106 сообщений Статус: Offline | cucYa, спасибо, заработало. Еще вопрос: можно ли как то скрыть поле $STATE_FL$? оно используется в качестве переменной, в которую сохраняется текст, и не должны быть видна на сайте | | |
|
| Infamous | Дата: 06 Января 2010, 08:52 | Сообщение # 11 |  ● ● ● ● ● 1670 сообщений Статус: Offline | Code <div style="display:none">$STATE_FL$</div> | | |
|
| akkolt | Отредактировал akkolt - Среда, 06 Января 2010, 20:21 Дата: 06 Января 2010, 10:56 | Сообщение # 12 | ● ● ● ● ● 106 сообщений Статус: Offline | Проблема с тем же кодом: Все работало на стандартной верстке, со сменой дизайна код перестал работать вот новый код: Code <table height="500" id="siM63"> <tr><td width="140" style="vertical-align: top;">$AVATAR_FL$ </td> <td width="160" style="vertical-align: text-top;"> $NAME_FL$ <br><input type="checkbox" id="check1" name="Классика" /> Классика <br><input type="checkbox" id="check2" name="Heavy & Power" /> Heavy & Power <br><input type="checkbox" id="check3" name="Метал кор" /> Метал кор <br><input type="checkbox" id="check4" name="Альтернатива" /> Альтернатива <br><input type="checkbox" id="check5" name="Punk" /> Punk <br><input type="checkbox" id="check6" name="СКА" /> СКА <br><input type="checkbox" id="check7" name="Регги" /> Регги <br><input type="checkbox" id="check8" name="Фолк" /> Фолк <br><input type="checkbox" id="check9" name="Блюз" /> Блюз <br><input type="checkbox" id="check10" name="Эмо кор" /> Эмо кор <br><input type="checkbox" id="check11" name="Готика" /> Готика <br><input type="checkbox" id="check12" name="Инструментал" /> Инструментал <br><input type="checkbox" id="check13" name="Поп-Рок" /> Поп-Рок <br><input type="checkbox" id="check14" name="Психоделика" /> Психоделика <br><input type="checkbox" id="check15" name="Рок н Ролл" /> Рок н Ролл <br><input type="checkbox" id="check16" name="Меломан" /> Меломан <br><input type="button" id="check" value="Выбрать" /> <script type="text/javascript"> document.getElementById("check").onclick = function() { var checked = []; var count = 16; var i = 0; while(++i <= count) { if(document.getElementById("check" + i).checked) { checked.push(' ' + document.getElementById("check" + i).name); } } document.getElementsByName('signature')[0].value = checked; }; </script> </td> <td width="200" style="vertical-align: text-top;"> <div style="height:18;"><b>Пол:</b></div> <div style="height:18;"><b>День рождения:</b></div> <div style="height:18;"><b>Родной город:</b></div> <div style="height:18;"><b>Моб. телефон:</b></div> <div style="height:18;"><b>Номер ICQ:</b></div> <div style="height:18;"><b>Jabber:</b></div> <div style="height:18;"><b>Web сайт:</b></div> </td> <td width="243" style="vertical-align: top;" > $GENDER_FL$ <br>$BIRTHDAY_FL$ <br>$CITY_FL$ <br>$YAHOO_FL$ <br>$ICQ_FL$ <br>$AOL_FL$ <br>$WWW_FL$ $OPTIONS_FL$ $PAS SW ORD_FL$ <?i f($SECURITY_CODE_FL$)?> <tr id="siM60"><td class="manTd1" id="siM61">$SECURITY_CODE_SIGN$</td><td class="manTd2" id="siM62">$SECURITY_CODE_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr> <?endif?> <tr id="siM64"><td class="manTdBut" colspan="2" align="center" id="siM65"><input class="manFlSbm" id="siF20" type="submit" name="sbm" value="$SUBMIT_SIGN$" /></td></tr> <tr><td width="140"></td><td width="160"></td><td width="200"></td><td width="243" style="vertical-align: bottom;"></td></tr> <tr><td width="140"></td><td width="160"></td><td></td></tr> <tr><td width="140"></td><td width="160"></td><td></td></tr> <tr><td width="140"></td><td width="160"></td><td></td></tr> <tr><td width="140"></td><td width="160"></td><td></td></tr> </table> <textarea rows="4" id="siF9" name="signature" cols="20" style="display:none; border: 0px;"></textarea> | | |
|
| mob_dp | Дата: 06 Января 2010, 17:32 | Сообщение # 13 | ● ● ● ● ● 4112 сообщений Статус: Offline | жесть  | | |
|
| akkolt | Дата: 06 Января 2010, 20:15 | Сообщение # 14 | ● ● ● ● ● 106 сообщений Статус: Offline | mob_dp, думаю большинству пользователей будет удобно п.с. мы немного ушли от темы, с чем может быть связана работа скрипта? на старом дизайне все работает (проверял несколько раз) | | |
|
| mob_dp | Дата: 06 Января 2010, 20:17 | Сообщение # 15 | ● ● ● ● ● 4112 сообщений Статус: Offline | думаю большинству пользователей будет удобно и серверу тоже  | | |
|
| akkolt | Отредактировал akkolt - Воскресенье, 10 Января 2010, 11:49 Дата: 10 Января 2010, 11:48 | Сообщение # 16 | ● ● ● ● ● 106 сообщений Статус: Offline | Пока не жалуется (почти) Добавлено (06 Январь 2010, 20:30) --------------------------------------------- Понял причину, спасибо всем, кто помог разобраться ) Добавлено (10 Январь 2010, 11:48) --------------------------------------------- Code <div class="menu"> <div id="block_menu">
<div class="punkt" onMouseOver="overPunkt(this);" onMouseOut="outPunkt(this);"><b>Любимая музыка:</b><div class="list_punkts"><div class="kont"> <script type="text/javascript"> var sign = document.getElementsByName('signature')[0].value; var mySplitResult = sign.split(", "); var name = [] name[0] = 'Классика' name[1] = 'Heavy & Power' name[2] = 'Метал кор' name[3] = 'Альтернатива' name[4] = 'Punk' name[5] = 'СКА' name[6] = 'Регги' name[7] = 'Фолк' name[8] = 'Блюз' name[9] = 'Эмо кор' name[10] = 'Готика' name[11] = 'Инструментал' name[12] = 'Поп-Рок' name[13] = 'Психоделика' name[14] = 'Рок н Ролл' name[15] = 'Меломан'
for(i = 0; i < 16; i++){ var IsStr = sign; var re = name[i]; var found = IsStr.match( re ); if( found == null ){ document.write("<br><input type='checkbox' id='check" + i + "' name='" + name[i] + "' /> " + name[i]); }else{ document.write("<br><input type='checkbox' id='check" + i + "' name='" + name[i] + "' checked /> " + name[i]);} } </script> </div></div> </div> </div> <div class="footer_menu"></div> </div> <textarea rows="4" id="siF9" class="manFlaSign" name="signature" cols="20" style="display:none" value=""></textarea> <input class="manFlSbm" id="siF20" type="submit" name="sbm" value="$SUBMIT_SIGN$" /> <script type="text/javascript"> document.getElementById("siF20").onclick = function() { var checked = []; var count = 16; var i = 0; while(++i <= count) { if(document.getElementById("check" + i).checked) { checked.push(' ' + document.getElementById("check" + i).name); } } document.getElementsByName('signature')[0].value = checked; }; </script> Попытался сделать проверку на заполненное поле, и все полетело. не могу понять, как исправить | | |
|
| mob_dp | Дата: 11 Января 2010, 00:41 | Сообщение # 17 | ● ● ● ● ● 4112 сообщений Статус: Offline | Code var name = [] name[0] = 'Классика' name[1] = 'Heavy & Power' name[2] = 'Метал кор' name[3] = 'Альтернатива' name[4] = 'Punk' name[5] = 'СКА' name[6] = 'Регги' name[7] = 'Фолк' name[8] = 'Блюз' name[9] = 'Эмо кор' name[10] = 'Готика' name[11] = 'Инструментал' name[12] = 'Поп-Рок' name[13] = 'Психоделика' name[14] = 'Рок н Ролл' name[15] = 'Меломан' можно не в****ваться и записать в одну строку и это в if( found == null ){ вместе с else в 2 строки А что собственно полетело? | | |
|
| uWeb | Дата: 11 Января 2010, 01:20 | Сообщение # 18 | ● ● ● ● ● 1135 сообщений Статус: Offline | Code document.write("<br><input type='checkbox' id='check" + i + "' name='" + name[i] + "' "+ found == null ? '' : checked +" /> " + name[i]);} походу это бред | | |
|
| akkolt | Дата: 11 Января 2010, 09:41 | Сообщение # 19 | ● ● ● ● ● 106 сообщений Статус: Offline | uWeb, нет, это как раз нормально mob_dp, код не может прочитать document.getElementsByName('signature')[0].value, если блок signature не стоит вверху (что имхо очень странно) перенес блок в верх страницы, скрипт определения выбранных флажков заработал, но перестал работать тот, что сохраняет новые (отредактированные пльзователем флажки) перенес поле обратно вниз, теперь не работает ни то, ни другое в общем бред какой то, не могу понять в чем причина | | |
|
| mob_dp | Дата: 11 Января 2010, 22:55 | Сообщение # 20 | ● ● ● ● ● 4112 сообщений Статус: Offline | document.getElementsByName по-русски: взять документ по имени Загрузка кода и выполнение скрипта происходит линейно. Если ты выполняешь код до загрузки элемента - выпадет ошибка. | | |
|