如何将变量从DOM脚本传递到href链接

问题描述 投票:-1回答:1

我想将一个变量从javascript传递给html链接。

<li hidden><a id="url_call" href='/paytm/response/?response={{response}}' 
value="{{response}}">{{response}}</a></li>
<script src="https://checkout.razorpay.com/v1/checkout.js"></script>
<script>
  var options = {
    "key": "rzp_test_rpDFJlAD0LDl8Y",
    "subscription_id": "{{ sub_id }}",
    "name": "My Billing Label",
    "description": "Auth txn for sub_8seKGNhVEOwnjj",
    "handler": function (response){
      // alert(response.razorpay_payment_id);
      document.getElementById("url_call").click(response);
    }
  };
  var rzp1 = new Razorpay(options);
  document.getElementById('rzp-button').onclick = function(e){
    rzp1.open();
  }
</script> 

在上面的代码中我想从变量响应

 "handler": function (response){
          // alert(response.razorpay_payment_id);
          document.getElementById("url_call").click(response);
        }

<li hidden><a id="url_call" href='/paytm/response/?response={{response}}' 
    value="{{response}}">{{response}}</a></li>

我认为我做的方式是错误的。有人可以帮我吗?谢谢。

javascript html5 dom
1个回答
0
投票

您可以将href属性的值设置为:

document.getElementById('url_call').setAttribute('href', '/paytm/response/?response='+response);

注意<a标签没有value属性。 Click here to learn about valid attributes

如果您坚持要更改value属性的值,请执行以下操作:

document.getElementById('url_call').setAttribute('value', response);

要更改<a标签的文本,请使用:

document.getElementById('url_call').innerText = response;

如果您想要上述所有更改,您的最终代码将如下所示:

"handler": function (response){
   var el = document.getElementById('url_call');
   el.setAttribute('href', '/paytm/response/?response='+response);
   el.setAttribute('value', response);
   el.innerText = response;
}
© www.soinside.com 2019 - 2024. All rights reserved.