-
Posts
3,246 -
Joined
-
Last visited
-
Days Won
155
Content Type
Profiles
Forums
Calendar
Store
Everything posted by Switch74
-
въехал наконец что у вас делается. Мой скрипт в данный момент берет get переменные из get, а его у вас нет, т.к. отсутствует '?' в адресной строке, вы его потихому скамуниздили mod_rewrite. GET запросом являются данные стоящие после первого знака '?' у вас он удаляется и передается только PHP методом mod_rewrite. PHP работает на сервере и он обрабатывает эти данные нормально, но вот формы на стороне клиента не зная о таких изменениях шлют не верные запросы. Лично мне не нравится ваша данная реализация изменения адреса, красоты минимум: вы убираете только первый ключ, а проблем максимум. То, что вы передаете skip через get - это правильно, но то как , это спорный вопрос. вот так должно вроде работать <script> function SubmitForm(form) { //создаем ассациативный массив аналогичный $_GET в PHP var new_get = ''; var get = window.location.href.split('/'); var gets = get[3].split('&'); var get_ = {}; var forms = form.childNodes; for(n in gets) { get = gets[n].split('='); if(get.length > 1) get_[get[0]] = get[1]; else get_[get[0]] = ''; } //делаем обход формы, заменяем параметры в get_ на параметры из формы и добавляем новые for(n in forms) { if (forms[n].nodeType == 1) { if(forms[n].tagName == 'INPUT' && forms[n].name.length) { get_[forms[n].name] = forms[n].value; } } } //формируем новый гет запрос for(n in get_) { if(get_[n].length) new_get += '&'+n+'='+get_[n]; else new_get += '&'+n; } get = new_get.substr(1); window.location.href = get; return false; } </script> <form id="forms"> <input name="par1" value="<?PHP if(isset($_GET['par1'])){echo $_GET['par1'];}?>"> <input name="par2" value="<?PHP if(isset($_GET['par2'])){echo $_GET['par2'];}?>"> <input type="submit" value="GET" onclick="SubmitForm(this.form);return false;"> </form>
-
я не знаю как у вас ассоциация проходит ".ru/formtest&par=1" и get? об этом наверно только php знает. по сути у вас в адресе не передан par как get. в моей реализации ваш адрес выглядел бы ".ru/formtest/?par=1", и не нужно было бы его переписывать, и ни каких проблем с стандартной передачей данных формы. Вы на какой-то CMS делаете сайт или самописный движок?
-
Как уменьшить вес картинки, сохранив ее массштаб?
Switch74 replied to Yarkaya's question in HTML Coding
стандартным php скриптом можно програмками обрабатывать - и сохранять все картинки в стандарте для web -
вы уверены, что "formtest&par=1" - это верный адрес, я понимаю если бы было что-то вроде "?go=formtest&par=1" добавлять "?go=" через mod_rewrite не вижу смысла. Теперь хотя бы ясно что за изврат у вас. Могу лишь посоветовать в вашем случае использовать для обработки формы js, php с переадресацией не стоит. <script> function SubmitForm(form) { //создаем ассациативный массив аналогичный $_GET в PHP var new_get = ''; var get = window.location.search.substr(1); var gets = get.split('&'); var get_ = {}; var forms = form.childNodes; for(n in gets) { get = gets[n].split('='); get_[get[0]] = get[1]; } //делаем обход формы, заменяем параметры в get_ на параметры из формы и добавляем новые for(n in forms) { if (forms[n].nodeType == 1) { if(forms[n].tagName == 'INPUT' && forms[n].name.length) { get_[forms[n].name] = forms[n].value; } } } //формируем новый гет запрос new_get += get_['do']; for(n in get_) { if(n != 'do') new_get += '&'+n+'='+get_[n]; } get = new_get; window.location.href = get; return false; } </script> <form id="forms"> <input name="par1" value="<?PHP if(isset($_GET['par1'])){echo $_GET['par1'];}?>"> <input name="par2" value="<?PHP if(isset($_GET['par2'])){echo $_GET['par2'];}?>"> <input type="submit" value="GET" onclick="SubmitForm(this.form);return false;"> </form> это только тестовый пример как можно реализовать, не факт, что он работает как тебе нужно, но доработать до нужного можно блин, совсем запарился с этим твоим гетом, возможно у тя даже это не прокатит больше параметров по проблеме лучше результат был бы. и кстати, я обычно стараюсь от гетов избавляться
-
вы пример пробовали использовать который я писал, ни какие вторые '?' не дописываются, если в url уже присутствует какой-нибудь из параметров get, то он просто меняется, а не дописывается. А если в get не было параметра передаваемого формой он добавится. у меня при всем желании не получится в запросе два '?', даже не представляю как вы извращаетесь над формой. Показали бы хоть ваш код... а статья "Обработка GET-запроса в строке URL средствами PHP" - это просто изврат, в PHP работа с GET элементарно ведется через ассоциативный массив $_GET легко заменяется любой элемент без поиска, если надо удаляется и добавляется, если надо сортируется и парсирить для этого URL не нужно, он уже весь разобран.
-
для чего height:100%; для #wrap и #left_menu? и я не заметил, чтобы ваш футер был прижат к низу, он просто идет за всем контентом здесь рассматривалась подобная проблема сделайте как там советовали и у вас все получится и на форуме уже наверно тем 20 по этому поводу поднималось и в каждой есть ответ причем разный. попробуйте из этого многообразия найти тот, что подойдет вам
-
вы как форму используете, у всех норм с параметрами, а у вас добавляются повторно. вы учитываете, что имена регистрозависимы?
-
что за ужосс... form сама заменит и выставит нужные <form> <input name="parametr1"> <input name="parametr2"> <input type="submit" value="Сменить GET"> </form>
-
:-) любитель css
-
копайте в сторону overflow для блоков которые у вас должны делать что-то по краям для больших разрешений, если это будут картинки, то на меньших разрешениях они будут скрываться и становиться меньше, на больших будут показываться в больших объемах. главное правильно позиционировать их внутри, данный вариант поможет не терять скролл от body, а он в некоторых случаях лучше заменяемого от div. Но можно использовать и выше указанный вариант, я таким образом устанавливаю свои скроллбары например
-
можно использовать для удобства jquery для начала первым делом нужно отменить загрузку картинок, для этого можно обойти все картинки и убрать у них src(нужно запомнить src для последующей загрузки), а можно сделать невидимыми(но загрузка картинок может продолжаться) <script> $('img').each(function() { //делаем отмену загрузки картинок }) //после, по какому-нибудь событию, например settimeout можно продолжить загрузку settimeout(function() { $('img').each(function() { //делаем включение загрузки картинок }) },10000) </script> так же можно сделать img невидимыми через css - это приведет к отмене загрузки до того, пока вы не сделаете их видимыми <style> img{display:none;} </style> а потом <script> $('img').each(function() { //делаем видимыми картинки }) </script>
-
проблема может быть в следующем: 1. вы используете для текста font-size: 2.2em; это значит, что ваш текст масштабируемый - он увеличивает свой размер при изменении масштаба документа и возможно последний блок просто не влез в ограниченные размеры #container width:1000px; 2. блоки в #header у вас выстроены с помощью float:left; а если очередной блок не влазит, то он переносится на следующую строку. Попробуйте проверить какие размеры блоков у вас в той версии хрома, проинспектируйте элементы, проверьте масштаб, у меня в хроме 18.0 нормально отображается.
-
вариантов реализации подобного может быть много и каждый со своими нюансами, какие условия? 1. однотипное оформление блоков или они разные 2. на их размер влияет содержимое третьего блока или нужно выравнивать все по самому большому я бы предложил для универсальности сделать блоки без оформления а под них положить с position:absolute в вашем варианте в данный момент достаточно сделать так
-
по этому кусочку кода мало что скажешь, какие стили установлены для классов?
-
попробуй так может то что нужно <script> function SearchEnter(event,form) { if(event.keyCode == 13) { SearchClick(form); } } </script> <input type="text" name=query onkeydown="SearchEnter(event,this.form);">
-
я бы посоветовал сделать нормальную форму и тогда все будет отправляться как надо и без скриптов
-
ххх... такое дибильное смещение во второй таблице
-
а мой вариант не подходит? просто float:left;height:100%; оно и будет всегда на 100% по высоте, или добавляй обертку которая будет регулировать размер блоков или делай их абсолютными
-
я бы сделал так, но без кода мало что можно угадать <!DOCTYPE html> <html> <head> <style> *{margin:0px;padding:0px;} html,body{height:100%;} .body{position:relative;min-height:100%;} .header{ position:relative; height:50px; background:#ddd; z-index:2; /*удалить*/ margin:0px 10px 0px 10px; } .footer{ position:absolute; left1:0px; right1:0px; bottom:0px; height:50px; background:#ddd; z-index:2; /*удалить*/ left:10px;right:10px; } .left{ position:absolute; top:50px; left:0px; bottom:50px; width:50px; background:#999; } .right{ position:absolute; top:50px; right:0px; bottom:50px; width:50px; background:#999; } .bg{ position:absolute; top:0px; left:50px; right:50px; bottom:0px; z-index:0; background:#eee; } .content{ position:relative; margin:0px 50px; min-height:100%; z-index:1; } </style> </head> <body> <div class="body"> <div class="header">header</div> <div class="bg"></div> <div class="content"> content </div> <div class="left"></div> <div class="right"></div> <div class="footer">footer</div> </div> </body> </html> а вообще можно копать и копать в этом направлении
-
Два DIV с рамкой, не выравниваются друг на друга
Switch74 replied to AppleMacMy's question in HTML Coding
здесь есть несколько способов и нужно выбрать нужный: можно сделать обертку для обоих и второй сделать absolute можно второй поместить в первый и сделать relative или absolute ... -
думаю перекрывают они у него по z-index попробуй для блоков по краям выставить z-index меньше чем у футера и учти, что z-index работает только с position элементами а img по бокам должны с середины страницы начинаться? или от хэадера? дай подробное тз по верстке данного макета или хотя бы код который уже есть
-
Весьма спорное заявление А мне кажется лучше всего делать полный сброс, и настраивать все элементы с нуля: 1. элементы отображаются во всех браузерах одинаково. 2. элементы выглядят так как тебе это нужно, а не так, как их показывают браузеры. примеры: input, textarea, h1..., a, hr(обычно я заменяю на свой аналог с возможностью настроек)....
-
судя по кнопке - это сафари, а если у тебя в хроме такая же, то видимо у тя стоит какое-то расширение или еще какие настройки
-
остальные - это какие? у меня в хроме и опере кнопка высотой 130px
-
значит проблема была в способе вставки видео в html