Styx
User-
Posts
97 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Everything posted by Styx
-
Нет. Это метод вашей формы. Вызывается при клике. Больше ничего и не нужно.
-
Что именно не сработало? Покажите, как делаете. Я же полагаю, что большинство людей думающих всё же смотрят. =)
-
Даже если вы попытаетесь в скрипте изменить атрибут status объекта window (он отвечает за текст в строке состояния), всё равно при наведении будет отображаться путь к обработчику. Ибо нехорошо скрывать от пользователя то, куда приведет его клик на кнопке Submit. Сделайте обычную кнопку и назначьте ей по событию onclick действие submit формы. <input type="button" value="Submit" onclick="this.form.submit();" title="Submit data" />
-
Так посмотрите, как это реализовано в скрипте той страницы, на которую вы сослались. Функция selectCode. Кстати, очень хорошо читается, даже комментарии есть. P.S. Опоздал.
-
Вроде как name — недопустимый атрибут для fieldset (по крайней мере для заявленного DOCTYPE). Попробуйте еще помимо этого обращаться к fieldset из функции методом getElementById объекта document или так: form.getElementsByTagName("fieldset")[0].
-
s0rr0w, если не против, то еще раз по поводу этого: А вы со своим скриптом так пробовали? Кажется, транспонируется неправильно. В общем, результат повторного (т.е. двукратного) транспонирования не совпадает с начальным. А должен. =)
-
Ну, в принципе, я что-то наподобие видел. Это использовалось, например, для поиска и выделения текста на странице. Но работало это только только в IE. Что-то вот как здесь. Кхм.
-
Ну, в общем — да...
-
psywalker, от скролла не спасёт. Хотя точное центрирование (для непрокрученного документа) именно так.
-
Если вас не интересует судьба пользователей IE, то замените в CSS абсолютное позиционирование на position: fixed;
-
Мало что понял из ваших объяснений. Но, думаю, вам достаточно уяснить, что самая суть эффекта несбрасываемого при ресете поля состоит в том, чтобы при назначении полю атрибута value назначить то же самое значение атрибуту defaultValue этому же самому полю ввода. А вы атрибут value назначаете полю с id="username", а атрибут defaultValue — какому-то полю с id="hiddenUserName". Вот это последнее и не будет сброшено при ресете.
-
Угу, транспонирование с усечением! s0rr0w, а ваш пример почему-то повергает IE6 в аут (приходится вырубать осла через Диспетчер задач...) В остальных браузерах работает блестяще.
-
На всякий случай вот еще функция транспонирования произвольной прямоугольной таблицы (матрицы). При транспонировании стиль каждой из ячеек (будь то фон, формат и проч.) полностью переносится вместе с ячейкой (а не только переносится свойство innerHTML, как в примере выше). Делал себе в "удовольствие", но, может, понадобится кому еще. =) Javascript: <script type="text/javascript"> function transposeMatrix(matrixId) { var matr = document.getElementById(matrixId); var rowCount = matr.rows.length; var colCount = matr.rows[0].cells.length; var transposedMatrix = matr.cloneNode(10); while (transposedMatrix.rows.length > 0) { transposedMatrix.deleteRow(0); } for (var i = 0; i < colCount; i++) { transposedMatrix.insertRow(i); for (var j = 0; j < rowCount; j++) { transposedMatrix.rows[i].appendChild(matr.rows[j].cells[i].cloneNode(10)); } } matr.parentNode.insertBefore(transposedMatrix, matr); matr.parentNode.removeChild(matr); } </script> XHTML: <form action="#" method="post"> <table border="2" rules="all" id="matrix"> <tr><td>1.1</td><td>1.2</td><td>1.3</td><td>1.4</td><td style="font-weight: bold;">1.5</td></tr> <tr><td>2.1</td><td>2.2</td><td>2.3</td><td>2.4</td><td>2.5</td></tr> <tr><td>3.1</td><td style="color: red;">3.2</td><td>3.3</td><td>3.4</td><td>3.5</td></tr> <tr><td>4.1</td><td bgcolor="#00FF00">4.2</td><td>4.3</td><td>4.4</td><td>4.5</td></tr> <tr><td>5.1</td><td>5.2</td><td>5.3</td><td>5.4</td><td>5.5</td></tr> <tr><td>6.1</td><td>6.2</td><td>6.3</td><td>6.4</td><td>6.5</td></tr> </table> <input type="button" onclick="transposeMatrix('matrix');" value="transpose" /> </form>
-
Если вы работаете с фреймами, то всё нормально. Там нужен именно parent.
-
А вы тогда после этой строчки динамического присваивания сделайте то же самое, но для атрибута defaultValue. <script type="text/javascript"> var unresetableValue = window.parent.document.getElementById("username").value; document.getElementById("username").value = unresetableValue; document.getElementById("username").defaultValue = unresetableValue; </script> P.S. Кстати, возможно, вместо parent желательнее использовать атрибут opener, если, конечно, вы используете для открытия нового окна метод window.open.
-
Думаю, тут не стоит сильно расстраиваться. Во-первых, создаваемый элемент является динамическим, поэтому физическое содержимое html-файла никак не меняет при своем создании (а следовательно, и валидность документа...). А во-вторых, у вас код изначально невалиден, так что отсутствующая косая черта в атрибуте innerHTML сильно картину не испортит...
-
<form action="#" method="post"> <label><input type="text" size="15" name="resetable" />Это поле будет сброшено при ресете</label><br /> <label><input type="text" size="15" name="unresetable" onchange="this.defaultValue = this.value;" />А это поле не будет сброшено при ресете</label><br /> <input type="reset" value="Reset" /> </form>
-
Там, действительно, всё расписано. В разделе "Документация" и прочих... Все скрипты скачиваются, можно смотреть. Впрочем, подобный же select, выбранный вами, можно при желании за небольшое время собрать на обычном JavaScript без XML. Хоть это уже не будет так "круто" звучать, как в случае XML! =)))
-
<input type="text" name="URL" alt="search field" value="" size="30"> <input type="button" value="Поиск" onclick="location.href = 'http://mysite.ru/search/' + this.form.URL.value" name="button"> Хотя довольно странный способ поиска. Не лучше ли (например) отсылать запрос пользователя методом GET странице со скриптом поиска? А там уже смотреть, есть ли такая страница вообще, или нет. И в зависимости от этого уже показывать запрашиваемую страницу или информационное сообщение по умолчанию с инструкциями. Что хорошего, если человек, введя некорректный запрос, увидит в результате безликий лист с ошибкой: "Страница не найдена"...
-
Как отобразить в бразуре отформиатированный HTML и CSS?
Styx replied to termoplus's question in HTML Coding
Кстати, там, куда ведёт указанная ссылка, сделано как раз с помощью JavaScript и регулярных выражений (всё можно свободно посмотреть в тамошнем сценарии highligh.js). Я вот тоже эксперимента ради попробовал сотворить нечто своё подобное, но попроще, разумеется. Суть проста — код на страницу выводится так, что открывающие угловые скобки дескрипторов заменяются на < , а закрывающий — на >. Соответственно, с помощью регулярных выражений их можно отыскать в тексте и обрамить их вместе с содержимым в <span class="..."></span> например. Для класса задать в CSS цвет текста тегов. Ну и примерно аналогично — с закавыченным текстом. Можно и дальше раскрашивать тем же способом, но я не стал. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>Template</title> <style type="text/css"> span.tags { color: #00009C; } span.quoted { color: #CB6532; } </style> <script type="text/javascript"> function colorCode(containerId) { var container = document.getElementById(containerId); var Code = container.innerHTML; var leftBracket = /&_lt;/gim; var rightBracket = /&_gt;/gim; var quotes = /"([^&]*)"/gim; Code = Code.replace(leftBracket, "<span class='tags'>&_lt;"); Code = Code.replace(rightBracket, "&_gt;</span>"); Code = Code.replace(quotes, "<span class='quoted'>$&</span>"); container.innerHTML = Code; } </script> </head> <body> <div id="codeHTML"> <pre>&_lt;!DOCTYPE html PUBLIC &_quot;-//W3C//DTD XHTML 1.0 Transitional//EN&_quot; &_quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&_quot;&_gt; &_lt;html xmlns=&_quot;http://www.w3.org/1999/xhtml&_quot;&_gt; &_lt;head&_gt; &_lt;meta http-equiv=&_quot;content-type&_quot; content=&_quot;text/html;charset=utf-8&_quot; /&_gt; &_lt;title&_gt;Template&_lt;/title&_gt; &_lt;style type=&_quot;text/css&_quot;&_gt; &_lt;/style&_gt; &_lt;script type=&_quot;text/javascript&_quot;&_gt; &_lt;/script&_gt; &_lt;/head&_gt; &_lt;body&_gt; &_lt;p&_gt;This is a trial HTML page!&_lt;/p&_gt; &_lt;/body&_gt; &_lt;/html&_gt;</pre> </div> <p><input type="button" value="clolr code!" onclick="colorCode('codeHTML');" /><br /> <input type="button" value="print code!" onclick="document.getElementById('code2').firstChild.data = document.getElementById('codeHTML').innerHTML;" /></p> <div id="code2"> </div> </body> </html> P.S. Пришлось исказить код вот такими символами &_lt; &_gt; &_quot; , поскольку здешний интерпретатор автоматически преобразует коды символов < и > в сами символы, и код теряет функциональность! На самом деле, разумеется, нижнее подчеркивание надо удалить перед использованием!! Сразу как-то не заметил... -
Назначьте id таблице (допустим, id="table1") и далее — с помощью javascript : document.getElementById("rightcolumn").style.display = (document.getElementById("table1")) ? "none" : "block";
-
Вот так попробуйте. JavaScript: <script type="text/javascript"> var links = new Array(); links[0] = "java script:showDialog('Информация_1','Тут краткая информация_1','prompt')"; links[1] = "java script:showDialog('Информация_2','Тут краткая информация_2','alert')"; links[2] = "java script:showDialog('Информация_3','Тут краткая информация_3','confirm')"; function changeOption(sel) { sel.form.select2.selectedIndex = parseInt(sel.options[sel.selectedIndex].id); document.getElementById("hypLink").href = links[sel.selectedIndex]; } function showDialog(info, shinfo, type) { /* здесь тело вашей функции */ } </script> XHTML: <form action="#" method="post"> <select size="1" name="select1" onchange="changeOption(this);"> <option value="" id="0">Выберите значение</option> <option value="Уровень1" id="2">Уровень1</option> <option value="Уровень2" id="1">Уровень2</option> </select> <a href="java script:showDialog('Информация_1','Тут краткая информация_1','prompt')" id="hypLink"><img src="images/info.png" width="16" height="16" border="0" align="middle" id="img1" /></a> <select size="1" name="select2"> <option value="">Выбрано значение</option> <option value="Выбрали2">Выбрали2</option> <option value="Выбрали1">Выбрали1</option> </select> </form> P.S. При написании кода здесь в сообщениях вставляется лишний пробел в слове javascript (в атрибуте href). O_o
-
<script type="text/javascript"> var links = new Array(); links[0] = "I_am_the_first_link.htm"; // href для случая, когда выбран первый option links[1] = "I_am_the_second_link.htm"; // href для случая, когда выбран второй option links[2] = "I_am_the_third_link.htm"; // href для случая, когда выбран третий option // и т.д. По событию onchange назначаем атрибуту href ссылки значение links[N], где N — значение selectedIndex списка select1. Дальше попробуйте сами, раз желаете. Не буду сильно навязываться! =)
-
Уже объяснил выше... При возникновении события onchange в списке select1 читается значение атрибута id в текущем (выбранном) элементе option. С помощью функции parseInt строковое значение переводится в значение числового типа и присваивается атрибуту selectedIndex второго списка. Правильно. Можно. Нужно завести глобальный массив строк, в котором будут содержаться адреса для каждого option. Потом по событию onchange присваивать атрибуту href этой ссылки значение элемента массива с индексом, равным атрибуту selectedIndex списка select1. Если непонятно объяснил, могу набросать код...
-
Если вообще нет никакой закономерности во взаимном порядке следования элементов этих списков, то можно воспользоваться таким приемом. В списке select1 каждому элементу option назначим id="N", где N — индекс того элемента в списке select2, который должен отобразиться при выборе данного option. Тогда по событию onchange в первом списке читаем значение id текущего элемента и назначаем во втором select'е соответствующее значение selectedIndex. Вот. <form action="#" method="post"> <select size="1" name="select1" onchange="this.form.select2.selectedIndex = parseInt(this.options[this.selectedIndex].id);"> <option value="" id="0">Выберите значение</option> <option value="Уровень1" id="2">Уровень1</option> <option value="Уровень2" id="1">Уровень2</option> </select> <select size="1" name="select2"> <option value="" name="">Выберано значение</option> <option value="Выбрали2">Выбрали2</option> <option value="Выбрали1">Выбрали1</option> </select> </form> P.S. Ну, в вашем случае соответственно пятому элементу option в списке select1 назначаете id="70".