2017-01-30 11 views
0

私は3つのリンクがすべて同じクラスですが、異なるIDを持っています。クラス名のリンクがクリックされると、ユーザーにポップアップフォームが表示されます。私がしようとしているのは、クリックから個々の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> 

私は一度捕獲ポップアップ形式で次の隠しフィールドに値を追加できるようにしたい:

/*======== 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> 

IDは、フォーム上にある内容に応じて、ユーザーがリダイレクトされます正しいサイトに移動します。私はすでに構築されているjsの後半を持っていますが、そのIDを取得して提出前にフォームに渡す方法を理解できないようです。

私はすでに以下に建て検証と処理を持っている:

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; 
} 

答えて

1

以下のスニペットはjQueryのを使用してクリックした要素の親IDを取得する方法を示しています。

一度

$('.addProdClick').click(function(el) { 
 
    $('#product').val($(this).parent().attr('id')); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<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> 
 

 
<input type="hidden" readonly="readonly" id="product" name="product" value="">

+0

それはコンソールログにありますが、どうすればポップアップフォームの隠しフィールドに入れることができますか? – user3524193

+0

私は同様のコードスニペットを試みましたが、失敗しました。私が理解できない問題は、隠しフォームフィールドにIDを格納する方法です。それを取得することは問題ではない、私は後でどのように処理するか分からない。 – user3524193

+0

上記のスニペットを開発ツールで調べると、リンクをクリックすると非表示の入力フィールドの値がどのように変わるかがわかります。あなた自身の設定でこれを動作させるのに問題がある場合は、おそらくあなたはフィドルなどであなたの問題の再現を共有することができますか? –

関連する問題