Jump to content

WiciN

Newbie
  • Posts

    15
  • Joined

  • Last visited

WiciN's Achievements

Explorer

Explorer (1/14)

0

Reputation

  1. Спасибо за помощь, отличная штука оказывается регулярные выражения! Я всегда их избегал из-за того, что не понимаю, а теперь чувствую нужно вникать, очень уж полезная вещь…
  2. Оказываеццо все так просто, то есть теоретически ("/^([" + wm_type + "]+([0-9]{12}))$/i").test… тоже должно работать... У меня там слишком огромный файл с функциями, хотелось бы покороче, хоть на строчку. И кстати вопрос, получается при каждом запуске проверки будет создаваться new RegExp(), он будет перезаписывать текущее значение mask_keeper или старое будет висеть в оперативе?
  3. Не вижу разницы между [u|Z|E|R] и [u,Z,E,R] Я и так проверяю с помощью RegExp. // Моя запись (/^([U,Z,E,R]+([0-9]{12}))$/i).test(getElementById('purse_wm').value); // ничем не отличается от mask_keeper = new RegExp("/^([U,Z,E,R]+([0-9]{12}))$/i") mask_keeper.test(getElementById('purse_wm').value); Я хреново разбираюсь в синтаксисе javascript поэтому и спрашиваю, для тех кто знает вопрос элементарный. Например средствами php я бы сделал так: echo '(/^(['.$wm_type.']+([0-9]{12}))$/i).test(getElementById(\'purse_wm\').value);'; где $wm_type может принимать значения Z,U,E или R, но переменная $wm_type меняется на стороне клиента. В моём случае wm_type получает значение от радио кнопки, то есть на стороне клиента. Если в поле заполнен кошелёк R111111111111 и юзер переключил радиобокс на U, то выражение должно, ранее заполненное поле R111111111111, считать неправильным. Не знаю уже как можно подробней описать. Суть проблемы вместо [u,Z,E,R] подставить значение переменной javascript с именем wm_type, которая может принимать значение U,Z,E или R.
  4. С регулярными выражениями я практически не знаком, поэтому прошу помощи. Задача такая, нужно проверить содержимое поля ввода кошелька WM. Как известно они состоят из буквы и 12 цифр после неё (пример Z123456789123, R123456789123…) Придумал такое выражение для проверки: (/^([u,Z,E,R]+([0-9]{12}))$/i).test(getElementById('purse_wm').value); все работает, но тип кошелька тоже меняется динамически, поэтому нужно в выражение вместо [u,Z,E,R] вставить переменную 'wm_type' которая содержит одну букву… Идею с массивом из 4 выражений и индексом wm_type не предлагать…
  5. Отлично спасибо, что-то мне onkeyup не попадалось нигде я и не знал о его существовании
  6. ответ 1: Кавычки экранированы, потому, что форма находилась в echo ' … '; ответ 2: Я не выдержал и снес нафиг весь тот код. Решил сделать совсем иначе. Но вопрос остался. Вот набросал пример: <html> <head><title>Хреново работает</title></head> <body> <script type="text/javascript"> function print_summa() { var summa=document.getElementById('summa').value; document.getElementById('text_summa').innerHTML='Сумма ' + summa + 'руб.'; } </script> <form action="page.php" method="POST"> <input type="text" id="summa" name="summa" value="0" onkeypress="print_summa();"> </form> <div id="text_summa"> </div> </body> </html> Как видите в #text_summa появляется предыдущее значение поля #summa. Что можно сделать вместо onkeypress для одновременного изменения суммы и её дублировании в DIV
  7. Привет всем, столкнулся с проблемой при получении значения формы. На странице имеется 4 формы. (страница пополнения баланса) Первая форма имеет 2 поля типа text выглядет так: [руб].[коп] конечно вместо руб. и коп. будут цифры. И три формы отправки запроса на оплату в системы: WebMoney, LR, и LiqPay. В этих трёх формах все поля скрыты, кроме submit-ов. Субмиты подсписаны так: Пополнить баланс на руб.коп USD через …. Ещё сумма (руб.коп) добавляется в value полей ammount во всех трех формах. Нужно, чтоб при вводе цифр в поля руб. или коп. сумма менялась сразу. Каким бы способом не вызывал функцию (onkeypress, onchange, onblur) нужного результата нет. Вот вызываемая функция java script: function print_summa() { var summa = document.getElementById(\'add_rub\').value + \'.\' + document.getElementById(\'add_kop\').value; document.getElementById(\'ammount_wm\').value=summa; // и так далее Оно конечно все работает, только как бы на шаг позже. Например (по умолчанию руб=0) при обработчике onkeypress изменяешь сумму на 2, везде остается умолчание. Потом меняешь на 5, везде присваивается 2. onchange, onblur - не предлагать, так как нужно менять текст на кнопках не теряя фокус полей руб. или коп. Как сделать так, чтоб присваивалась текущее значение, а не предыдущее, подскажите…
  8. Спасибо огромное… Только с браузерами странно получается, у меня наоборот в IE не работает, а в FireFox на ура.
  9. Она и так встроена в этой странице, форма появляется только после нажатия на ссылку (DIV с ссылкой становится display:none; а DIV с формой dispaly:block;). Только фокус браузера переводится на новую, открытую ссылкой, вкладку. А страница с формой (уже показанной) становится неактивной. Так то все работает. Хочется чтоб ссылка открывала новую вкладку в фоне, а пользователь после клика оставался на этой же странице уже с появившейся формой. Вроде понятно выразился.
  10. Дело в том, что это ссылка на сайт рекламодателя. И при нажатии на неё, появляется форма для получения бонуса, вот хотел, чтоб юзер её сразу заполнял, а не кидало туда, потом обратно
  11. Во обнадёжил. Я видел на сайте http://limon-online.ru похожую штуку, там всплывает реклама, и когда её закрываешь, то открывается новое окно (не вкладка, а ещё один браузер) с рекламой и фокус переходит опять на первый открытый браузер и на ту вкладку где был. Вот такого эффекта нужно добиться как нибудь.
  12. Привет всем, долго решал в каком разделе задать вопрос тут или в HTML. Задача: при клике на ссылку, должна открыться новая вкладка (в фоне), то есть пользователь должен дальше продолжать видеть страницу на которой нажал ссылку. Подскажите как можно сделать...
  13. Вот до чего я дошел, ковырял похожие сайты и очищал всё лишнее. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Страдание над фиксацией</title> <style type="text/css"> html {height:100%; overflow:hidden;} body {height:100%; padding:0; margin:0; overflow:auto;} #footer {position:absolute; width:100%; height:100px; left:0; bottom:0; background:#009955;} </style> </head> <body> <div> <div id="footer">Footer</div> <p>a</p> <p>b</p> <p>c</p> <p>d</p> <p>e</p> <p>f</p> <p>g</p> <p>h</p> </div> </body> </html> Получилось почти так как мне нужно, только нижний слой скрывает часть полосы прокрутки. Как это исправить, чтоб полоса прокрутки была на всю страницу одна и ничем не перекрывалась. И кстати без DOCTYPE почему-то это все не правильно работает ни в нормальных браузерах, ни в IE6! При изменении размера окна - всё в порядке, а при прокрутке страницы - нет.
  14. А у меня это нигде не работает. Мне бы самому понять, ну в смысле не самому, а именно понять. А просто скопировав код, для самообразования не полезно.
  15. Ивеняюсь за нескромность, мне нужно сделать очень похожую штуку, только не имитировать фрейм, а присандалить снизу div. Evclid, в твоём втором примере, к сожалению, есть небольшие недочёты. В IE6 нет полосы прокрутки и прокрутить контент если он по высоте больше окна невозможно, а в FireFox, Safari и других нормальных браузерах полоса прокрутки заканчивается перед началом слоя Footer (это в моём случае не подходит). А в первом варианте, всё работает во всех браузерах, только в IE полоса прокрутки только на слое content. А хочется чтоб полоса прокрутки вела себя как на обычных страницах, а div был просто прикреплен в нижней границе. Пример на http://lendmoney.ru/ , там в правом нижнем углу какая-то хрень прикреплена. Я в этом деле новичок, и всю голову уже поломал. Не могу, подскажите плз. Во всём подводит грёбаный IE6, действительно хочется уже напечатать этот div и к монитору на ПВА снизу прикрепить...
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy