我可以使用 Bootstrap for Netsuite 在 Suitelet 中创建自定义表单吗?

Can I create a custom form in Suitelet using Bootstrap for Netsuite?

Suitelet 默认形式很难看。我想在 Netsuite 中使用 bootstrap 为 suitelet 创建一个自定义表单。我可以这样做吗?我想使用带有 suitelet 的 html 显示此 bootstrap 表单。

例如 bootstrap 形式

    <form role="form">
   <div class="form-group">
    <label for="name">Name</label>
    <input type="name" class="form-control" id="name" name="name">
  </div>
  <div class="form-group">
    <label for="email">Email address:</label>
    <input type="email" class="form-control" id="email" name="email">
  </div>

  <button type="submit" class="btn btn-default">Submit</button>
</form>

我可以使用 suitlet 默认获取获取表单的获取值 API

    var email= request.getParameter('email');
    var name = request.getParameter('name');       

    var newCust = nlapiCreateRecord('customer');
    newCust.setFieldValue('xxxx', name);
    newCust.setFieldValue('xxxx', email);
    var id = nlapiSubmitRecord(newCust);

如果您使用自己的 HTML/CSS,您应该能够使用 request.getBody() 获取值。然后,您应该解析响应主体以从表单中获取值。

或者,您可以编写一个客户端 javascript,它在 submit 事件上设置 URL 参数及其值,然后您将能够使用request.getParameter() 个 API。

您可以使用常规形式 post 和 action 方法指向您的 suitescript 端点,另一方面您可以使用 request.getAllParameters() 获取值。

例如

HTML:

 <form role="form" action = "https://forms.netsuite.com/app/site/hosting/scriptlet.nl?script=XXX&deploy=1&compid=XXXXXX&h=XXXXXXXXXXXXX" method ="POST">

套件脚本:

 var params = request.getAllParameters();
 var email= params['email'];
 var name = params['name'];     

看看这个,我在 Suitescript 2.0 中创建了这个 Suitelet。这是一个黑客,但工作正常。只需添加 POST 条件即可从表单中获取数据。 https://ursuscode.com/netsuite-tips/loading-custom-html-and-bootstrap-within-a-suitelet-form/