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

그러나 formData api를 사용하여 양식 값을 기록하려고합니다. 아래에 오류가 있습니다.
ReferenceError : "FormData"가 정의되지 않았습니다.suitscript 2.0을 사용하여 netsuite에서 양식 만들기

+0

은 정확한 오류 메시지가 있습니까? 나는 당신이 "formData"를 사용했고 오류가 "FormData"를 보여 주었기 때문에 묻습니다. 그것들은 같은 변수가 아닙니다. 실수로 코드의 다른 부분에서 "F"를 대문자로 사용했을 가능성이 있습니까? – W3BGUY

+0

기본적으로 userevent 스크립트에서 데이터를 처리하지 않고 웹 페이지에서 오류를 표시하는 경우 실제 오류는 입니다. org.mozilla.javascript.EcmaError : ReferenceError : "FormData"가 정의되어 있지 않습니다. – Talal

+0

코드에서 "formData"대신 "FormData"를 검색 했습니까? – W3BGUY

답변

1

FormData은 UserEvent에 스크립트를 전혀 사용할 수없는 브라우저 기반의 API를 사용하여 서버 측 스크립트입니다

XMHttpRequest 아래 client side API 관리입니다.

그래서 클라이언트 스크립트에서 FormData를 사용하여 Suitelet 또는 RESTlet으로 정보를 보낼 수 있지만 UserEvent 스크립트에는 없습니다.

당신은 샘플로 다음 SS2.0가 사용할 수있는 사용 Suitelet에서 양식을 만들려면

:

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

예 사용자 이벤트 스크립트를 작성하고있었습니다. – Talal

관련 문제