Webpage data not transfering to schema after function change | Community
Skip to main content
bryceh57660644
Level 2
June 4, 2020
Solved

Webpage data not transfering to schema after function change

  • June 4, 2020
  • 2 replies
  • 2529 views

After someone hits submit on a form, i am getting two rows of data.  Both have the same values for the manual inputs (email, name, etc), but for my checkboxes I am getting different values.  On the first value, it shows all three values as not interetested/"0", and then the second row will show their actual inputs.  Any idea why this is happening?

 

function next() {
var valid = validateForm()
if (valid == true) {
document.controller.submit('next','_self','next');
} else {

alert("Error");

}

if(document.getElementById('control_VC').checked){
document.controller.setValue('/ctx/vars/virtualcare',"0");
} else{
document.controller.setValue('/ctx/vars/virtualcare',"1");
}
if(document.getElementById('control_OB').checked){
document.controller.setValue('/ctx/vars/onlinebooking',"0");
} else{
document.controller.setValue('/ctx/vars/onlinebooking',"1");
}
if(document.getElementById('control_LHP').checked){
document.controller.setValue('/ctx/vars/profile',"0");
} else{
document.controller.setValue('/ctx/vars/profile',"1");
}
}

 

I also then added an alert if my email value was not filled out, and now the values are showing in the debug mode of the web page, but the values are not transferring to the data schema like they were when function validateForm()  was set to only "return true;"

 

function setDefaultValue() {
document.getElementById("control_EMAIL").value = null;
}
function updateEmail(email) {
document.controller.setValue('/ctx/vars/email', email);
document.getElementById("control_EMAIL").value = "Ok";
}

function validateForm() {
var email = document.getElementById("control_EMAIL").value
if (email == null) {
alert("Alert");
}
else {
return true;
}
}

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Jyoti_Yadav

Hi,

 

Your function validateForm(), returns value only when email value is not null.

So there's two loop happening:

1) If email value is not null, script is going to next page and inserting data.

2) If email value is null, your function returns nothing, so script goes to else part and never goes to next page of storage. 

That's why values are not inserted.

 

For your question related to two data value insert, I would suggets to place your if else check before submitting to next page, i.e:

if (valid == true) {

//Add your if else logic here

document.controller.submit('next','_self','next');

 

Thanks.

2 replies

Jyoti_Yadav
Jyoti_YadavAccepted solution
Level 8
June 5, 2020

Hi,

 

Your function validateForm(), returns value only when email value is not null.

So there's two loop happening:

1) If email value is not null, script is going to next page and inserting data.

2) If email value is null, your function returns nothing, so script goes to else part and never goes to next page of storage. 

That's why values are not inserted.

 

For your question related to two data value insert, I would suggets to place your if else check before submitting to next page, i.e:

if (valid == true) {

//Add your if else logic here

document.controller.submit('next','_self','next');

 

Thanks.

_Manoj_Kumar_
Community Advisor
Community Advisor
June 5, 2020

Hello @bryceh57660644 ,
could you please share the input field screenshot and the javascript part.

If by clicking on the submit button you can see the updated variables in debug mode.

Then you can add this line after setting variables to redirecting to next javascript activity.

document.controller.submit('next');

 

let me knw if that helps. 

     Manoj     Find me on LinkedIn