Jump to content

Switch74

Expert
  • Posts

    3,246
  • Joined

  • Last visited

  • Days Won

    155

Everything posted by Switch74

  1. въехал наконец что у вас делается. Мой скрипт в данный момент берет 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>
  2. я не знаю как у вас ассоциация проходит ".ru/formtest&par=1" и get? об этом наверно только php знает. по сути у вас в адресе не передан par как get. в моей реализации ваш адрес выглядел бы ".ru/formtest/?par=1", и не нужно было бы его переписывать, и ни каких проблем с стандартной передачей данных формы. Вы на какой-то CMS делаете сайт или самописный движок?
  3. стандартным php скриптом можно програмками обрабатывать - и сохранять все картинки в стандарте для web
  4. вы уверены, что "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> это только тестовый пример как можно реализовать, не факт, что он работает как тебе нужно, но доработать до нужного можно блин, совсем запарился с этим твоим гетом, возможно у тя даже это не прокатит больше параметров по проблеме лучше результат был бы. и кстати, я обычно стараюсь от гетов избавляться
  5. вы пример пробовали использовать который я писал, ни какие вторые '?' не дописываются, если в url уже присутствует какой-нибудь из параметров get, то он просто меняется, а не дописывается. А если в get не было параметра передаваемого формой он добавится. у меня при всем желании не получится в запросе два '?', даже не представляю как вы извращаетесь над формой. Показали бы хоть ваш код... а статья "Обработка GET-запроса в строке URL средствами PHP" - это просто изврат, в PHP работа с GET элементарно ведется через ассоциативный массив $_GET легко заменяется любой элемент без поиска, если надо удаляется и добавляется, если надо сортируется и парсирить для этого URL не нужно, он уже весь разобран.
  6. для чего height:100%; для #wrap и #left_menu? и я не заметил, чтобы ваш футер был прижат к низу, он просто идет за всем контентом здесь рассматривалась подобная проблема сделайте как там советовали и у вас все получится и на форуме уже наверно тем 20 по этому поводу поднималось и в каждой есть ответ причем разный. попробуйте из этого многообразия найти тот, что подойдет вам
  7. вы как форму используете, у всех норм с параметрами, а у вас добавляются повторно. вы учитываете, что имена регистрозависимы?
  8. что за ужосс... form сама заменит и выставит нужные <form> <input name="parametr1"> <input name="parametr2"> <input type="submit" value="Сменить GET"> </form>
  9. копайте в сторону overflow для блоков которые у вас должны делать что-то по краям для больших разрешений, если это будут картинки, то на меньших разрешениях они будут скрываться и становиться меньше, на больших будут показываться в больших объемах. главное правильно позиционировать их внутри, данный вариант поможет не терять скролл от body, а он в некоторых случаях лучше заменяемого от div. Но можно использовать и выше указанный вариант, я таким образом устанавливаю свои скроллбары например
  10. можно использовать для удобства 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>
  11. проблема может быть в следующем: 1. вы используете для текста font-size: 2.2em; это значит, что ваш текст масштабируемый - он увеличивает свой размер при изменении масштаба документа и возможно последний блок просто не влез в ограниченные размеры #container width:1000px; 2. блоки в #header у вас выстроены с помощью float:left; а если очередной блок не влазит, то он переносится на следующую строку. Попробуйте проверить какие размеры блоков у вас в той версии хрома, проинспектируйте элементы, проверьте масштаб, у меня в хроме 18.0 нормально отображается.
  12. Switch74

    height: 100%

    вариантов реализации подобного может быть много и каждый со своими нюансами, какие условия? 1. однотипное оформление блоков или они разные 2. на их размер влияет содержимое третьего блока или нужно выравнивать все по самому большому я бы предложил для универсальности сделать блоки без оформления а под них положить с position:absolute в вашем варианте в данный момент достаточно сделать так
  13. по этому кусочку кода мало что скажешь, какие стили установлены для классов?
  14. попробуй так может то что нужно <script> function SearchEnter(event,form) { if(event.keyCode == 13) { SearchClick(form); } } </script> <input type="text" name=query onkeydown="SearchEnter(event,this.form);">
  15. я бы посоветовал сделать нормальную форму и тогда все будет отправляться как надо и без скриптов
  16. ххх... такое дибильное смещение во второй таблице
  17. а мой вариант не подходит? просто float:left;height:100%; оно и будет всегда на 100% по высоте, или добавляй обертку которая будет регулировать размер блоков или делай их абсолютными
  18. я бы сделал так, но без кода мало что можно угадать <!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> а вообще можно копать и копать в этом направлении
  19. здесь есть несколько способов и нужно выбрать нужный: можно сделать обертку для обоих и второй сделать absolute можно второй поместить в первый и сделать relative или absolute ...
  20. думаю перекрывают они у него по z-index попробуй для блоков по краям выставить z-index меньше чем у футера и учти, что z-index работает только с position элементами а img по бокам должны с середины страницы начинаться? или от хэадера? дай подробное тз по верстке данного макета или хотя бы код который уже есть
  21. Весьма спорное заявление А мне кажется лучше всего делать полный сброс, и настраивать все элементы с нуля: 1. элементы отображаются во всех браузерах одинаково. 2. элементы выглядят так как тебе это нужно, а не так, как их показывают браузеры. примеры: input, textarea, h1..., a, hr(обычно я заменяю на свой аналог с возможностью настроек)....
  22. судя по кнопке - это сафари, а если у тебя в хроме такая же, то видимо у тя стоит какое-то расширение или еще какие настройки
  23. остальные - это какие? у меня в хроме и опере кнопка высотой 130px
  24. значит проблема была в способе вставки видео в html
×
×
  • 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