За последние 24 часа нас посетили 17187 программистов и 1246 роботов. Сейчас ищут 959 программистов ...

Баллада про Фреймы :)

Тема в разделе "JavaScript и AJAX", создана пользователем Elkaz, 29 май 2007.

  1. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Всем доброго дня :)
    Из-за того что создатели броузеров никак не придут к нормальным стандартам - приходится мучаться :))) то что не работает на IE, прекрасно работает в FF, Opera и т.д :)))))) И наоборот. В данный момент вопрос по фреймам:
    Код (Text):
    1.  
    2. <frameset rows="70%, *, 20, 0" FRAMEBORDER="0" BORDER="0" FRAMESPACING="0">
    3. <frame name="top_main" src="top.php" style="border-bottom-width: 1px; border-bottom-style:solid; border-bottom-color:#e2e0e0">
    4. <frameset cols=",300">
    5. <frame name="main_chat" src="chat.php" target="_top" scrolling=YES FRAMEBORDER="0" BORDER="0" FRAMESPACING="0" MARGINWIDTH="3" MARGINHEIGHT="3">
    6. <frame name="right" src="ch/list.php" target="_blank" scrolling=YES FRAMEBORDER=0 BORDER=0 FRAMESPACING=0 MARGINWIDTH=3 MARGINHEIGHT=0>
    7. </frameset>
    8. <frame name="bottom" scrolling="no" noresize src="add.php">
    9. <frame name="receivemsg" scrolling="no" noresize src="rcv.php">
    10. </frameset>
    в IE этот кусок кода ОТЛИЧНО работает. В любом другом броузере - не хочет. А именно боковой фрейм не показывается :)))) тот что right. Как это можно исправить? Я уже пробовал по-разному... не получается
     
  2. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Этот кусок — жесточайшее месиво. Создатели браузеров уже пришли к очень многим стандартам, пора уже и верстальщикам их подучить. Что значит _blank для фрейма?
     
  3. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    Elkaz, ещё один повод отказаться от фреймов :)
     
  4. eduha

    eduha Активный пользователь

    С нами с:
    8 ноя 2006
    Сообщения:
    278
    Симпатии:
    0
    Адрес:
    Караганда
    <frameset cols="*,300">
     
  5. pel

    pel Активный пользователь

    С нами с:
    19 янв 2007
    Сообщения:
    569
    Симпатии:
    0
    Адрес:
    Симферополь
    можешь линку дать?
     
  6. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
  7. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    К многим, но не ко всем =)
    Спасибо, действительно, я пропустил звездочку :)
    Еще вопросик грамотным специалистам JS. Я уже поднимал вопрос, но ответа на него не нашел :) все что советовали - не подошло.
    Есть кнопка
    Есть <span>
    Есть форма
    Есть JS-функция

    Итак.
    Код (Text):
    1.  
    2. <script language="javascript">
    3. function showForm(tid) {
    4. document.getElementById("frm").style.display="";
    5. document.getElementById("thingid").value=tid;
    6. }
    7. function closeForm() {
    8. document.getElementById("frm").style.display="none";
    9. }
    10. </script>
    11. <span id='frm' style='display:none;'>
    12. <form name='transfer' method='post'>
    13. <table>
    14. <tr><td>Передать для: <input type='text' name='transfer_to' class='inpcls' value=''></td></tr>
    15. <input type="hidden" id="thingid" value="">
    16. <tr><td><input type='submit' name='trf' value='Передать' class='but'>
    17. <input type='submit' name='close' value = "Закрыть" class='but' onclick='closeForm();'></td></tr>
    18. </table>
    19. </form>
    20. </span>
    Вроде с этим куском ясно :) Если вызвана функция showForm - показывается span с формой :)
    Далее. Код кнопки:
    Код (Text):
    1.  
    2. <input type='submit' name='transfer' value='Передать' class='but' onclick='showForm($thing[uid]);'>
    Т.е showForm передается параметр ))) число.
    Это самое число должно передаться в значение: <input type="hidden" id="thingid" value="">.
    Т.е в значение thingid. Как это сделать? :) Спасибо за ответы!
     
  8. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    Span, с таблицей внутри? Див чем хуже?

    В какой момент и где - клиент или сервер, надо передать и что?

    Какой смысл показывать форму по кнопке сабмит? Что вообще делает этот элемент и зачем? ))
     
  9. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    =))) Не хочется div юзать. Какая разница
    Сервер генерирует лишь переменную $thing[id].
    Далее, на стороне клиента, при нажатии на кнопку должен выскакивать span с формочкой :)
    и в значение скрытого поля должен выдаваться $thing[id] +)))
    Какой смысл? :)) Ну допустим есть $thing[0] $thing[1] $thing[2] $thing[3]
    Сервер сгенерировал их. Ок.
    Теперь что, делать 4 разные формы? :)
    Потом, юзверь не должен вообще знать про ID.
    Он должен скрытно передаваться на событии нажатии кнопки и записываться в <hidden> =)
    Вроде чуток коряво объяснил =) Но общий смысл ясен
     
  10. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    нет. неясен. ид формируется на сервере и у клиента не меняется?

    В любом случае ты ИЛИ делаешь сабмит ИЛИ что-то показываешь/убираешь.
    существует в природе просто кнопка, не сабмит.
     
  11. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Задача: отправка формы по Enter'y в любом месте формы
    Решение:
    [js]
    <script language="javascript">
    function sendViaEnter(evt){
    evt = (evt) ? evt : event;
    var target = (evt.target) ? evt.target : evt.srcElement;
    var form = target.form;
    var charCode = (evt.charCode) ? evt.charCode :
    ((evt.which) ? evt.which : evt.keyCode);
    alert(charCode);
    if (charCode == 13) {
    form.submit();
    return false;
    }
    return true;
    }
    </script>
    [/js]
    PHP:
    1.  
    2. <?php
    3. echo "
    4. <form name='addmsg' method='post'>
    5. <input type='text' name='msgtxt' size='70' class='inpcls' onkeypress=\"return sendViaEnter(event)\">
    6. <input type='submit' name='took' value='Сказать' class='but'>
    7. </form>
    8. ";
    9. ?>
    10.  
    Что не так? :)
    Что происходит: Ничего :) При Enter'e не отправляется.
     
  12. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    PHP:
    1. <?php
    2. echo "
    3. <form name='addmsg' method='post'>
    4. <input type='text' name='msgtxt' size='70' class='inpcls' onkeypress=\"return sendViaEnter(event)\">
    5. <input type='submit' name='took' value='Сказать' class='but'>
    6. </form>
    7. ";
    8. ?>
    бугага :)

    не проще ли так?

    PHP:
    1. <form name='addmsg' method='post'>
    2. <input type='text' name='msgtxt' size='70' class='inpcls'>
    3. <input type='submit' name='took' value='Сказать' class='but'>
    4. </form>
    эта форма и так должна по ентеру в любом месте делать сабмит
     
  13. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    =))) Если бы делала - я не писал бы такую глупость :)
    В самом начале документа есть еще такая весчь :)
    <body onload='addmsg.msgtxt.focus();'>
    =)))))
     
  14. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    и что? инпут приобретает фокус?
     
  15. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Текстовое поле приобретает фокус =)
    Не в этом дело. При нажатии на Enter форма отправлятцца не хочет :)
    В чем конкретно не работает мой метод?
     
  16. nimistar

    nimistar Активный пользователь

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    Отсутвует строка action=
    теге формы
     
  17. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    PHP:
    1.  
    2. echo "
    3. <form name='addmsg' method='post' action='add.php'>
    4. ...
    5.  
    =) Нет разницы.
    Все так же не посылаетцца по enter )
     
  18. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    =))) Помогите
     
  19. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    учись сам дебажить свою страницу. загляни в консоль ошибок.