За последние 24 часа нас посетили 15516 программистов и 1487 роботов. Сейчас ищут 887 программистов ...

iframe

Тема в разделе "PHP для новичков", создана пользователем YulyaT, 9 авг 2012.

  1. YulyaT

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

    С нами с:
    11 июн 2012
    Сообщения:
    52
    Симпатии:
    0
    Помогите плс победить iframe!!
    На экране радио баттонс, не хочу уходить со страницы и делаю так
    Код (Text):
    1. <iframe id="hexec" src="blank.php" width="0" height="0" style="display: block;" frameborder="0"></iframe>
    на странице под формой f1 делаю
    Код (Text):
    1. <input type="hidden" id="p1" name="p1" />
    из скрипта запускаю
    Код (Text):
    1. f1.p1.value=72;
    2. hexec.location.href='insertDuplicate.php';
    3. или
    4. hexec.window.location='insertDuplicate.php';
    меня iframe высоту и ширину на 500 (чисто для увидеть)
    в insertDuplicate.php
    Код (Text):
    1. $kind = $_POST['p1'];
    2. echo "=======$kind***<br>";
    не получаю ничего:(
    Если не в iframe, то параметры передаются нормально.
    В asp hexec.location.href работает 100%
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Может jquery - ajax
    Зачем ифреим?

    Может распишешь задачу нормально
     
  3. YulyaT

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

    С нами с:
    11 июн 2012
    Сообщения:
    52
    Симпатии:
    0
    Попробую: на странице много jpg, под каждым несколько разных input, не хочу перегружать страницу, нужно всего лишь один update запустить.
    В asp в таких случаях делаю нулевой iframe и все дела, хочу аналогичным образом в php сделать.
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Извини, но из этого я понял только, что у тебя много jpg на странице :)

    Апдейтить базу? Записать данные из всех инпутов?
    При каком действии должен срабатывать апдейт?
     
  5. YulyaT

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

    С нами с:
    11 июн 2012
    Сообщения:
    52
    Симпатии:
    0
    jpg или gif ~100*100, короче вес не очень большой.
    инпуты под конкретной картинкой, на изменение для текста и для чекбокс на клик апдейтить таблицу в базе.
    4 поля всего: 2 чекбокса и 2 текста.

    P.S. на amazon на странице поднимаются 7-8 стилей до 500к и скриптов не мало, картинки огромные, не понятно как они это все оптимизировали, что страница грузится мгновенно.
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Они хитрят. И сидят близко.
     
  7. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    А апдейтить надо сразу все инпуты или только для конкретного img?
    Если для конкретного то вот примерный код

    Код (Text):
    1.  
    2. <html>
    3. <head><title>Just for fun :)</title></head>
    4. <body>
    5. <script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
    6. <script type="text/javascript">
    7. function update(chbox,num1, num2){
    8.     var input1 = $('input[name="data'+num1+'"]').val();
    9.     var input2 = $('input[name="data'+num2+'"]').val();    
    10.     if(chbox.checked)
    11.         $.post("/save.php?action=save", { data1: input1, data2: input2, status: 1});
    12.     else
    13.         $.post("/save.php?action=save", { data1: input1, data2: input2, status: 0});
    14. }
    15. </script>
    16.  
    17. <div id="img">
    18. <img src="images/a.png" width="50" height="50" alt="lorem"/>
    19. <input type="text" name="data1" />
    20. <input type="text" name="data2" />
    21. <input type="checkbox" name="save" value="1" onChange="javascript:update(this,1,2);" >Save
    22. <input type="checkbox" name="something" value="1">something
    23. </div>
    24.  
    25. <div id="img">
    26. <img src="images/a.png" width="50" height="50" alt="lorem"/>
    27. <input type="text" name="data3" />
    28. <input type="text" name="data4" />
    29. <input type="checkbox" name="save" value="1" onChange="javascript:update(this,3,4);">save
    30. <input type="checkbox" name="something" value="1">something
    31. </div>
    32.  
    33. </body>
    34. </html>
    Если я что-то не так понял пиши исправлю...
     
  8. YulyaT

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

    С нами с:
    11 июн 2012
    Сообщения:
    52
    Симпатии:
    0
    Сейчас проверю на реальном примере, никогда через jquery пробовала ...
    Спасибо!!
     
  9. YulyaT

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

    С нами с:
    11 июн 2012
    Сообщения:
    52
    Симпатии:
    0
    СПАСИБО!! работает!!
    Единственная разница, в iframe можно было сделать размерчик скажем 500*500 и при отладке подсмотреть весь процесс, а тут нашла решение
    Код (Text):
    1. function fwrite_stream($fp, $string) {
    2.     for ($written = 0; $written < strlen($string); $written += $fwrite) {
    3.         $fwrite = fwrite($fp, substr($string, $written));
    4.         if ($fwrite === false) {
    5.             return $written;
    6.         }
    7.     }
    8.     return $written;
    9. }
    10.  
    11. $fp = fopen('data.txt', 'w');
    12. fwrite($fp, $query);
    13. fclose($fp);
    и свой $query пишу на диск.
    Главное, что работает мгновенно!!