Результат Javascript из фрейма

Discussion in 'PHP' started by s_LiKe, 5 Dec 2014.

  1. s_LiKe

    s_LiKe New Member

    Joined:
    19 Jul 2013
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Всем привет сложилась такая проблема с выводом результата скрипта из фрейма на страницу.
    Есть Javascript калькулятора

    Code:
    function calc() {
     var result = document.getElementById("result");
    
    var a1 = document.getElementById("a1");
    var price = 0;
                price += (a1.checked == true) ? parseInt(a1.value) : 0;
     result.innerHTML = price;
            }	
    вывожу в HTML его так:
    HTML:
    <table width="100%">
    <tr>
    <td>
    <input type="checkbox" onchange="calc()" value="10000" id="a1"/><label>kz</label>
    </td>
    <td>
    Цена
    </td>
    </tr>
    </table>
     <div>Итоговая стоимость: <span id="result">0</span></div>
    
    Но так как позиций в моем калькуляторе ооочень много решил на сайт его вывести через
    HTML:
    <iframe src="calc.html" width="700px" height="500px"></iframe>
    Вопрос в том: как на странице с <iframe> вывести Итоговую стоимость?
     
    #1 s_LiKe, 5 Dec 2014
    Last edited: 5 Dec 2014
  2. say1ted

    say1ted New Member

    Joined:
    6 Dec 2013
    Messages:
    22
    Likes Received:
    1
    Reputations:
    0
    Я правильно понял, ты не можешь достучатся до
    Code:
    var a1 = document.getElementById("a1");
    
    Потому, что он в ифрейме? Если да, то тебе надо ифрейму задать id и искать элемент внутри него типа:
    Code:
    var frame = document.getElementById("iframeCalc");
    var a1 = framet.getElementById("a1");
    
     
  3. s_LiKe

    s_LiKe New Member

    Joined:
    19 Jul 2013
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Да но таких
    у меня 68 и значения и них разные, они все находятся в одном фрейме мне надо сделать вывод "Итоговой суммы" Из фрейма на страницу с фрейиом тобишь
    как то так)
     
  4. s_LiKe

    s_LiKe New Member

    Joined:
    19 Jul 2013
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    что неужели никто не может мне подсказать?
     
  5. ZeV$

    ZeV$ Elder - Старейшина

    Joined:
    7 Feb 2006
    Messages:
    40
    Likes Received:
    10
    Reputations:
    3
    1)
    вы не очень понятно объяснили задачу, но скорее всего лучшим решением будет просто вместо iframe воспользоваться обычным div с overflow: auto. У айфрема несколько другое предназначение, чем прятать большое количество текста за скроллом )

    HTML:
    <div id='calc-content' style='height: 500px; overflow: auto;'>
    ...
    <input type="checkbox" onchange="calc()" value="10000" id="a1"/><label>kz</label>
    ...
    </div>
    Итоговая стоимость...
    про overflow

    2) для задачи
    в скрипте калькулятора, расположенном в iframe нужно обращаться к родителю:

    Code:
    ...
    var result =window.parent.document.getElementById("result");
    ...
    result.innerHTML = price;
    ...
    про window.parent