首页 > 解决方案 > Suitelet 上的提交按钮和客户端脚本按钮冲突。不锈钢 2.0

问题描述

我的套件表单上有 2 个按钮,标准提交按钮和客户端脚本按钮。clientScriptModulePath如果我的套件代码中有 ,则提交按钮不会执行。一旦我删除clientScriptModulePath,提交按钮开始工作。有人知道可能是什么原因吗?

套房:

 function onRequest(context) {
  log.debug('request type', context.request.method);
  var form = serverWidget.createForm({ title: 'Item Search' });
  if (context.request.method === 'GET') {
    var rec_id = context.request.parameters.id;
    log.debug('rec id', rec_id)

    form.addButton({
      id: 'custpage_btn_goback',
      label: 'Go Back',
      functionName: 'onBackButtonClick'
    });
    form.clientScriptModulePath = '../client/mx_itemsearch_filter_cs.js';

    form.addSubmitButton({
      label: 'Submit'
    });
    context.response.writePage(form);
  }
  else {
    log.debug('POST', 'POST')
  }
}

客户端脚本功能:

function onBackButtonClick() {//TODO:
  try {
    console.log('in back button')

    var currRec = currentRecord.get();

    var suiteletUrl = url.resolveScript({
      scriptId: 'customscript_mx_itemsearch_sl',
      deploymentId: 'customdeploy_mx_itemsearch_sl'
    });
    console.log(suiteletUrl)

    window.open(suiteletUrl, '_self');

  } catch (e) {
    log.error({ title: fx, details: 'Error - Code: ' + e.code + ', Message: ' + e.message });
  }
}

标签: netsuitesuitescriptsuitescript2.0

解决方案


您需要添加一个有效的客户端端点功能。端点函数可以只是一个空白函数。例子

function pageInit (context) {};

您的客户端脚本应该具有导出客户端端点功能和您的自定义功能。

return { pageInit: pageInit, onBackButtonClick: onBackButtonClick};

推荐阅读