2017-09-14 4 views
0
var formData = new FormData(); 
formData.append("name", "John"); 
formData.append("age", "31"); 
for (var value of formData.values()) { 
      log.debug(value); 
       } 

mais lorsque je veux enregistrer des valeurs de formulaire à l'aide de formData api. C'est donner l'erreur ci-dessous.
ReferenceError: "FormData" n'est pas défini.Création de formulaire dans netsuite à l'aide de suitscript 2.0

+0

Est-ce que le message d'erreur exact? Je demande parce que vous montrez que vous avez utilisé "formData" et l'erreur montre "FormData". Ce ne sont pas la même variable. Peut-être que vous avez accidentellement capitalisé un "F" ailleurs dans le code? – W3BGUY

+0

Fondamentalement je travaille sur le script userevent lorsque le bouton de clic il ne traite pas les données et montre l'erreur sur la page Web Erreur exacte est donnée ci-dessous org.mozilla.javascript.EcmaError: ReferenceError: "FormData" n'est pas défini. – Talal

+0

Avez-vous cherché votre code pour "FormData" au lieu de "formData"? – W3BGUY

Répondre

1

FormData est un client side API géré sous XMHttpRequest

scripts UserEvent sont des scripts côté serveur avec aucune API à base de navigateur disponible à tous. Vous pouvez donc utiliser FormData dans un script client pour envoyer des informations à un Suitelet ou à un RESTlet, mais pas dans un script UserEvent.

Si vous voulez créer un formulaire dans un Suitelet utilisant SS2.0 vous pouvez utiliser les éléments suivants comme échantillon:

/** 
*@NApiVersion 2.x 
*@NScriptType Suitelet 
*/ 
define(["N/log", "N/redirect", "N/runtime", "N/ui/serverWidget", "N/url", "./kotnRECBCFilters"], 
    function (log, redirect, runtime, ui, url, kotnRECBCFilters_1) { 
    function showPropertiesForm(context) { 
     var form = ui.createForm({ 
      title: 'Property Trust Ledger' 
     }); 
     var req = context.request; 
     var fromLoc = form.addField({ 
      id: 'custpage_loc', 
      type: ui.FieldType.SELECT, 
      label: 'For Property', 
      source: 'location' 
     }); 
     fromLoc.updateLayoutType({ layoutType: ui.FieldLayoutType.NORMAL }); 
     fromLoc.updateBreakType({ breakType: ui.FieldBreakType.STARTCOL }); 
     if (req.parameters.custpage_loc) { 
      fromLoc.defaultValue = req.parameters.custpage_loc; 
     } 
     var notAfterDate = form.addField({ 
      id: 'custpage_not_after', 
      type: ui.FieldType.DATE, 
      label: 'On or Before' 
     }); 
     if (req.parameters.custpage_not_after) { 
      notAfterDate.defaultValue = req.parameters.custpage_not_after; 
     } 
     form.addSubmitButton({ 
      label: 'Get Detail' 
     }); 

     //... bunch of stuff removed 

     context.response.writePage(form); 
    } 

    function onRequest(context) { 
     if (context.request.method === 'POST') { 
      var currentScript = runtime.getCurrentScript(); 
      var params = {}; 
      for (var k in context.request.parameters) { 
       if (k.indexOf('custpage_') == 0 && k.indexOf('custpage_transactions') == -1) { 
        if ((/^custpage_.*_display$/).test(k)) 
         continue; 
        params[k] = context.request.parameters[k]; 
       } 
      } 
      redirect.toSuitelet({ 
       scriptId: currentScript.id, 
       deploymentId: currentScript.deploymentId, 
       parameters: params 
      }); 
      return; 
     } 
     showPropertiesForm(context); 
    } 
    exports.onRequest = onRequest; 
}); 
+0

Oui, je travaillais sur le script d'événement utilisateur. – Talal