Code: <script type="text/javascript"> function toggle(o, id) { var lang = {show:'Скрыть форму', hide:'Показать форму'}; var s = document.getElementById(id).style; s.display = (s.display != 'block' ? (o.innerHTML = lang.show, 'block') : (o.innerHTML = lang.hide, 'none')); } </script> <a href="#" onclick="toggle(this, 'aim');return false;">Показать форму</a> <div id="aim" style="display:none">Форма</div> А вместо этого: Code: var result = ''; for (i=0; i < id.length; i++) { if (id[i] <= '9' && id[i] >= '0') result += id[i]; } Лучше так: Code: var result = /\d+$/.exec(id); И в атрибутах onclick никогда не нужно писать "javascript:", поскольку это псевдо-протокол.
decodeURIComponent(text); text - название переменной с твоим текстом подскажите, почему следующее не работает в IE 6 HTML: <SCRIPT> function act() { document.all['TR1'].innerHTML = 'my text' + document.all['TR1'].innerHTML; } </SCRIPT> <INPUT TYPE="BUTTON" ONCLICK="act()" VALUE="кнопка"> <TABLE><TR ID="TR1"><TD>1</TD></TR></TABLE> в опере и лисе работает
imajo.ati, не стоит использовать document.all Лучше использовать document.getElementById() Почему бы не сделать так: Code: <script type="text/javascript"> function act() { document.getElementById('aim').innerHTML = 'my text'; } </script> <input type="button" onclick="act()" value="кнопка"> <table> <tr id="TR1"> <span id="aim"></span> <td>1</td> </tr> </table>
astrologer, к сожалению это так же не работает в IE6 тем более нарушается структура таблицы, что мне не подходит. видимо тег <TR> не поддерживает innerHTML в эксплорере, придется думать над альтернативой. а document.all и getElementById работает одинаково в современных браузерах, только document.all чуть быстрее но всё равно спасибо хм.. кстати странно что и это не работает в ие.. м.б. у меня одного так? вот это к примеру работает в IE HTML: <SCRIPT> function act() { document.all['TR'].innerHTML = 'my text' + document.all['TR'].innerHTML; } </SCRIPT> <INPUT TYPE="BUTTON" ONCLICK="act()" VALUE="кнопка"> <DIV ID="TR">12<DIV> а предыдущее не хочет
Подучите HTML HTML: <SCRIPT> function act() { document.all['bulko_p4elko'].innerHTML = 'my text' + document.all['bulko_p4elko'].innerHTML; } </SCRIPT> <INPUT TYPE="BUTTON" ONCLICK="act()" VALUE="кнопка"> <table border="1"> <tr> <td id="bulko_p4elko">Text budet tut: </td> </tr> </table>
bul.666, мне нужно именно в TR записывать, т.к. вместо 'my text' будет конструкция <TD><IMG ... ></TD> моя вина - забыл указать это вначале.
bul.666, да, ты прав. А я тут, как нуп, какие-то спаны леплю. imajo.ati, в <tr> нельзя ничего записывать. Такая таблица уже не будет проходить валидацию: Code: <table> <tr> out-cell text <td>123</td> </tr> </table> Но вот это: В корне меняет дело. Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript"> function add() { var tr = document.getElementById('tr1'), td = document.getElementById('td1'), node = document.createElement('td'), img = document.createElement('img'); img.src = 'http://forum.antichat.ru/antichat/pic/logo.gif'; tr.insertBefore(node, td); node.appendChild(img); } </script> </head> <body> <table> <tr id="tr1"> <td id="td1">text</td> </tr> </table> <input type="button" onclick="add()" value="add"> </body> </html>
почему я не могу передать указатель на элемент при событии OnBlur? function myFunc(element){ alert(element); } <input type="text" onBlur="myFunc(this)">
Code: <script> function myFunc(element) { alert(element); } </script> <input type="text" onBlur="myFunc(this)"> Всё работает.
вопрос по этому коду: PHP: var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?"; for (var i = 0; i < document.formname.fieldname.value.length; i++) { if (iChars.indexOf(document.formname.fieldname.value. charAt(i)) != -1) { alert ("Your username has special characters. \nThese are not allowed.\n Please remove them and try again."); return false; } } можно ли исключить оттуда символы вообще все символы кроме латиницы и цифр? я подозреваю, что для этого надо юзать регулярные выражения, но никогда их не использовал в js. может кто-нить показать хотя бы пример? а регулярку я сам напишу.
Code: <script> var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?"; if (/\W/.test(iChars)) { alert ("Your username has special characters. \nThese are not allowed.\n Please remove them and try again."); } </script> Вот код кот. заменит: Code: <script> var iChars = "b(@)u*@{lko'\-_p!c@h#$%e^&l*()k+=-[o]\\\';,./{}|\":<>?"; if (/\W/.test(iChars)) { document.write(iChars.replace(/\W/g,'')); } </script> </script>
2 Bul.666 эмм, чет вроде не то. у меня задача - проверить введённый пользователем логин, и если там есть что-нить кроме латинских букв и цифр - выдать алерт. а у тебя replace. Что такое /\W/ ?
Дикс, чем код була не нравится? Как раз то, что нужно - вырезает все символы которые не являются латинскими символами и цифрами (и подчеркиванием)
т.е. мне сначала вырезать, а затем сравнить с исходной строкой? попробую, но нельзя разве просто поискать в строке эти символы?
блин, как об стену горох! убей, не пойму, как это использовать: вот есть у меня login.value - к примеру строка "login123вася" мне надо посмотреть - если в строке есть всякая шняга типа "вася", то васю паслать на*** Как мне применить регулярку к строке и получить вменяемый результат (желательно булевый)? Теории куча, практики 0
Code: <script> var iChars = document.form1.login.value; if (/\W/.test(iChars)) { // если в логине найдены запрещенные символы alert ("Your username has special characters. \nThese are not allowed.\n Please remove them and try again."); // Вася, пшелнах } </script>
2krypt3r && Дикс Читайте мой пост там написано, когда при наличие Алерт (Первый код) и когда вырезать (Второй)