Im使用Wordpress网站的计算表单字段插件。我已经创建了所需的表单,但现在我需要在单击表单下方的按钮时,将表单中计算出的价格动态添加为URL参数。
该网站使用Visual Composer,这是按钮html:
<a class="nectar-button medium accent-color has-icon regular-button" target="_blank" href="https://na2.docusign.net/member/PowerFormSigning.aspx?PowerFormId=df6fbf3d-6f5d-4c48-8965-f4fa810099f4&Institutional_Buyer_AnnualPrice=15000"><span>Purchase Kuali Ready</span></a>
我想根据该领域的价格,动态添加/更改URL中的“机构买家年价格=15000”部分。这是我当前的JavaScript代码:
(function($) {
document.getElementsByClassName("nectar-button").onclick = function() {
var link = document.getElementsByClassName("nectar-button");
var price = $(\'#fieldname9_1\').val();
link.setAttribute(\'href\',\'https://na2.docusign.net/member/PowerFormSigning.aspx?PowerFormId=df6fbf3d-6f5d-4c48-8965-f4fa810099f4&Institutional_Buyer_AnnualPrice=\' + price);
return false;
}
})(jQuery);
以下是页面链接:
https://www.kuali.co/products/kuali-ready-online-purchasing/我在Stackoverflow上找到了3-4个关于同一主题的问题,我已经试过了,但没有一个对我有用,这就是我为什么把这个问题写给wordpress的原因。stackexchange。com公司
p、 请忽略一个事实,即让js代码正常工作将影响目前使用Visual Composer创建的所有按钮。
SO网友:David Lee
试试这个(纯JavaScript):
var allBtns = document.getElementsByClassName(\'nectar-button\');
function preventDefaultOpenCustomUrl(event)
{
event.preventDefault();
var price = document.getElementById("fieldname9_1").value;
var url = \'https://na2.docusign.net/member/PowerFormSigning.aspx?PowerFormId=df6fbf3d-6f5d-4c48-8965-f4fa810099f4&Institutional_Buyer_AnnualPrice=\' + price;
window.open(url);
}
;
for (i = 0; i < allBtns.length; i++) {
allBtns[i].addEventListener("click", preventDefaultOpenCustomUrl);
}
这是将事件添加到所有按钮
classname
,
使用Jquery:
(function ($) {
$(\'.nectar-button\').on(\'click\', function (e) {
e.preventDefault();
var price = $(\'#fieldname9_1\').val();
var url = \'https://na2.docusign.net/member/PowerFormSigning.aspx?PowerFormId=df6fbf3d-6f5d-4c48-8965-f4fa810099f4&Institutional_Buyer_AnnualPrice=\' + price;
window.open(url);
});
})(jQuery);
如果您没有访问HTML添加ID的权限,可以在
selector
选择该特定按钮。