Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

getxmlwait() not working onSubmit

Community Alums
Not applicable

I am trying to use getXMLWait() to stop a catalog item form submission, but this method is not working.   The form still submits.  

function onSubmit() {

     

     

      var emailGA = new GlideAjax('EmailAutoGeneration');

      emailGA.addParam('sysparm_name', 'generateEmailAddress');

      emailGA.addParam('sysparm_preferred_first_name', g_form.getValue('preferred_first_name'));

      emailGA.addParam('sysparm_preferred_last_name', g_form.getValue('preferred_last_name'));

      emailGA.addParam('sysparm_middle_name',   g_form.getValue('middle_name'));

     

      emailGA.getXMLWait(respParse);

     

      function respParse(response){

              var myObj = response.responseXML.documentElement.getAttribute('answer');

              var emailResp = JSON.parse(myObj);

             

              g_form.hideFieldMsg('email_address',true);

              g_form.setValue('email_address', emailResp.email.toString(), emailResp.email.toString());

             

              if(!emailResp.emailOk){

                      g_form.showFieldMsg('email_address',emailResp.msg.toString(),'error',true);

                      //disable the "Order Now" and "Add to Cart" buttons

                      document.getElementById("order_now").disabled=true;

                      document.getElementById("add_to_cart_button").disabled=true;

                      alert('test');

                      return false;

              }

      }              

}

1 ACCEPTED SOLUTION

oliver_castaway
Mega Contributor

I would try:



  1. function onSubmit() {  
  2.          
  3.          
  4.       var emailGA = new GlideAjax('EmailAutoGeneration');  
  5.       emailGA.addParam('sysparm_name', 'generateEmailAddress');  
  6.       emailGA.addParam('sysparm_preferred_first_name', g_form.getValue('preferred_first_name'));  
  7.       emailGA.addParam('sysparm_preferred_last_name', g_form.getValue('preferred_last_name'));  
  8.       emailGA.addParam('sysparm_middle_name',   g_form.getValue('middle_name'));  
  9.  
  10.          
  11. emailGA.getXMLWait();
  12. var myObj =   emailGA.getAnswer()
  13.        
  14.               var emailResp = JSON.parse(myObj);  
  15.                  
  16.               g_form.hideFieldMsg('email_address',true);  
  17.               g_form.setValue('email_address', emailResp.email.toString(), emailResp.email.toString());  
  18.                  
  19.               if(!emailResp.emailOk){  
  20.                       g_form.showFieldMsg('email_address',emailResp.msg.toString(),'error',true);  
  21.                       //disable the "Order Now" and "Add to Cart" buttons  
  22.                       document.getElementById("order_now").disabled=true;  
  23.                       document.getElementById("add_to_cart_button").disabled=true;  
  24.                       alert('test');  
  25.                       return false;  
  26.               }  
  27. }  


View solution in original post

6 REPLIES 6

Shishir Srivast
Mega Sage

Hi Josh,



The getXMLWait() function does not need a separate callback function. Please find the more details below. Thank you!



http://wiki.servicenow.com/index.php?title=GlideAjax#gsc.tab=0


Vinay Tulaband1
Kilo Expert

getXMLWait itself is not working on the portal.how is this issue solved without using getXMLWait()