为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Javascript 变量打开 Iframe

使用 Javascript 变量打开 Iframe

泛舟湖上清波郎朗 2023-10-14 19:09:47
我尝试将 javascript 变量传递到 iframe 的 url 中,但不知何故我做错了;谁能告诉我我犯了哪个错误?代码:function getPrice() {    var plans = document.getElementsByName('plans');    for (index=0; index < plans.length; index++) {        if (plans[index].checked) {            return plans[index].getAttribute('data-price');            break;        }    }这返回;50、100 或 150 作为值。<button OnClick="javascript:alert(getPrice() + '.00');">Bedrag</button>此按钮为我提供了想要添加到 Iframe 的 url 中的所需值:<iframe width="350" height="150" style="border-left:0px;border-top:0px;border-right:0px;border-bottom:0px;" src="https://www.website.com/create-ideal-payment.php?betaling="+ getPrice() + ".00"></iframe>不幸的是,I 帧打开时没有得到函数所需的输出"getPrice()"。我的哪一部分想法不正确,无法将正确的金额传递给 Iframe 中的 url?提前感谢所有支持/帮助!
查看完整描述

2 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

在 javascript 本身中设置 iFrame URL。


function getPrice() {

    var plans = document.getElementsByName('plans');

    var paymentFrame = document.getElementById('paymentFrame');

    var selectedPlan;

    for (index=0; index < plans.length; index++) {

        if (plans[index].checked) {

            selectedPlan = plans[index].getAttribute('data-price');

            break;

        }

    }

    

    paymentFrame.src="https://www.website.com/create-ideal-payment.php?betaling="+ selectedPlan + ".00"

    

    return selectedPlan;

}

<input type="checkbox" name="plans" data-price="50">

<input type="checkbox" name="plans" data-price="100">

<input type="checkbox" name="plans" data-price="150">

<button OnClick="javascript:alert(getPrice() + '.00');">Bedrag</button>

<iframe id="paymentFrame" width="350" height="150" style="border-left:0px;border-top:0px;border-right:0px;border-bottom:0px;"></iframe>


查看完整回答
反对 回复 2023-10-14
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

在 HTML 主要中


记下 iframe 的 id


 <iframe width="350" id = "IframeID" height="150" style="border-left:0px;border-top:0px;border-right:0px;border-bottom:0px;" ></iframe>

主要 HTML 中引用的 JavaScript


  function getPrice() {

      var plans = document.getElementsByName('plans');

      for (index=0; index < plans.length; index++) {

      if (plans[index].checked) {

         document.getElementById('result').innerText = 50;

         return 50;//plans[index].getAttribute('data-price');

         break;

     }

 }

  // For testinhg this is the value will be injected in URL of iframe as query string

 return 50

}



window.addEventListener('DOMContentLoaded', (event) => {

    console.log(getPrice());

    document.getElementById('IframeID').src = "somepage.html?seed=" + getPrice() + ".00";

});

IFrame 源 HTML


<html>

   <head>

   <meta charset="UTF-8">

   <meta name="viewport" content="width=device-width, initial-scale=1.0">

   <title>Document</title>

</head>

<body>

    <h1>TEST in IFRame</h1>

</body>

<script>

   function getParams() {


      var params = {},

      pairs = document.URL.split('?')

        .pop()

        .split('&');


   for (var i = 0, p; i < pairs.length; i++) {

    p = pairs[i].split('=');

    params[ p[0] ] =  p[1];

  }     


   return params;

  }

 var parameters = getParams();


 for( var i in parameters ){

   console.log( i , parameters[i] );

}

 </script>

 </html>


查看完整回答
反对 回复 2023-10-14
  • 2 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信