Expand my Community achievements bar.

Adobe Campaign User Groups are live now. Join our Adobe Campaign User Groups and connect with your local leaders!
SOLVED

How to pass JS value in context variable

Avatar

Level 2

Hi All,
I have the below query.

i have created a web form using html activity (not V5) , in the web form I am collecting some data in text form, now i want to store this value in context variuable.

For eg 

Context variable created in web application with name : my_purchase_number

In the web form there is a input text field where user enters the purchase number stired in JS variable inside html, let's say variable name is purchase_number.

When user clicks on submit button i want the value of context variable ctx.vars.my_purchase_number = purchase number.

Any help on how to achieve this is highly appreciated.

 

Regards

Jay

 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hello @jitendrak 

 

You will have to create a javascript function to do this. 

 

Here is an example

<script>
function updateCtxValues(){
  var purchaseNumber=document.getElemebtById('purchase_number').value;
  document.controller.setValue('/ctx/vars/my_purchase_number', purchaseNumber);
}
</script>

You will have to call this function on the form submission by onclick event

<input type="button" onclick="updateCtxValues()" value="submit">

Also, make sure your purchase number input has an id attribute of value "purchase_number"

 

Let me know if that works.

Thanks


     Manoj
     Find me on LinkedIn

View solution in original post

4 Replies

Avatar

Correct answer by
Community Advisor

Hello @jitendrak 

 

You will have to create a javascript function to do this. 

 

Here is an example

<script>
function updateCtxValues(){
  var purchaseNumber=document.getElemebtById('purchase_number').value;
  document.controller.setValue('/ctx/vars/my_purchase_number', purchaseNumber);
}
</script>

You will have to call this function on the form submission by onclick event

<input type="button" onclick="updateCtxValues()" value="submit">

Also, make sure your purchase number input has an id attribute of value "purchase_number"

 

Let me know if that works.

Thanks


     Manoj
     Find me on LinkedIn

Avatar

Level 2
<!DOCTYPE html> <html lang=""> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Some test form</title> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"> <!-- jQuery library --> &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">&lt;/script&gt; <!-- Popper JS --> &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js">&lt;/script&gt; <!-- Latest compiled JavaScript --> &lt;script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js">&lt;/script&gt; <style> .top-declaration { font-size: 1.5rem; margin-top: 20px; } .submit { background-color: #5288de; color: white; font-size: 1.2rem; width: 100%; padding-top: 10px; padding-bottom: 10px; } .submit-disabled { background-color: lightgray; color: darkgrey; font-size: 1.2rem; width: 100%; padding-top: 10px; padding-bottom: 10px; } .matter { font-size: 1.2rem; text-align: justify; } .point { font-weight: 400; text-align: justify; margin-bottom: 30px; } .point:hover { color: coral; } </style> </head> <body style="" class=""> <div class="container"> <div class="row"> <div class="col-sm-12 top-declaration">Please Enter your purchase ID</div> </div> <div class="container"><form class="form m-3"> <div class="form-group"><input class="form-control" id="purchase_number" type="text" placeholder="PurchaseId*" /></div> <div><input id="btnSubmit" type="button" value="Submit" onclick="validatePurchaseID()" data-nl-bindto="action" data-nl-action="next" data-nl-transition="" /></div> </form></div> </div> </body> &lt;script&gt; function validatePurchaseID() { var purchase_number = ("#purchase_number").val(); document.controller.setValue('/ctx/vars/my_purchase_number', purchase_number); } &lt;/script&gt; </html>

Avatar

Level 2
Hi Manoj, This worked, there was some issue, i removed jquery links and that worked. appreciate your help