Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从链接点击中捕获ID并将其传递到弹出窗体中_Javascript_Forms_Parameter Passing - Fatal编程技术网

Javascript 从链接点击中捕获ID并将其传递到弹出窗体中

Javascript 从链接点击中捕获ID并将其传递到弹出窗体中,javascript,forms,parameter-passing,Javascript,Forms,Parameter Passing,我有三个链接,都有相同的类,但不同的ID的。单击带有类名的链接时,用户会看到一个弹出表单。我试图做的是从单击中捕获单个ID,并将其作为隐藏字段传递到表单中 <div id="IA"><a class="addProdClick">Get a Quote</a></div> <div id="MP"><a class="addProdClick">Get a Quote</a></div> <di

我有三个链接,都有相同的类,但不同的ID的。单击带有类名的链接时,用户会看到一个弹出表单。我试图做的是从单击中捕获单个ID,并将其作为隐藏字段传递到表单中

<div id="IA"><a class="addProdClick">Get a Quote</a></div>
<div id="MP"><a class="addProdClick">Get a Quote</a></div>
<div id="GS"><a class="addProdClick">Get a Quote</a></div>

下面的代码段显示了如何使用jQuery获取已单击元素的父ID:

$('.addProdClick')。单击(函数(el){
$('#product').val($(this.parent().attr('id'));
});

获得报价
获得报价
获得报价

一旦它出现在控制台日志中,如何将其拉入弹出表单的隐藏字段?我尝试过类似的代码片段,但没有成功。我无法解决的问题是如何将id存储在隐藏表单字段中。获取它不是一个问题,我只是不确定以后如何处理。如果您使用开发工具检查上面的代码段,您应该会看到当您单击任何链接时隐藏输入字段的值是如何变化的。如果您在自己的设置中无法实现此功能,也许您可以用小提琴或类似的方式共享问题的复制品?我主要要解决的问题是,当用户单击按钮时,表单以及隐藏字段不在屏幕上。这个按钮激活了弹出式表单,所以本质上,上面的代码试图给找不到的ID赋值,然后带ID的表单弹出。我明白了。您能否添加负责打开问题弹出窗口的代码?也许在创建表单后,您可以向下传递所选ID并将其填充到隐藏的输入中。
/*======== This is the popup form which is show to the user when they click the "Get a Quote." ========*/
<form id="addProdGateway" action="" method="post">
<input type="hidden" readonly="readonly" id="product" name="product" value="">
</form>
jQuery(document).on('submit','#addProdGateway',function(e) {
    e.preventDefault();
    validationAddProdGateway();

    /*======== AJAX to submit a Pardot Form Handler ========*/
}

function validationAddProdGateway()
{
    var x = 0;
    var theForm = document.forms["addProdGateway"];
    var email = theForm.elements["email"].value;
    var source = theForm.elements["source"].value;
    var product = theForm.elements["product"].value;
    var url;

    if (product = "IA")
    {
        url = "https://www.ia.com"
    }
    else if (product = "MP")
    {
        url = "https://www.mp.com"
    }
    else if (product = "GS")
    {
        url = "https://www.gs.com"
    }

    /*======== Form Validation ========*/

    window.location.href = url;
}