1

我目前正在为一所私立学校工作。他们有一些在整个网站上实施的网络套件表格,用于从潜在学生和家长那里收集信息。

不幸的是,我们在提出网络套件形式的移动解决方案时遇到了一些困难。我的老板建议的一种解决方案是构建一个 HTML 表单并将该表单中的数据传递到 Netsuite,在那里进行解析等。

所以我已经构建了 html 表单,但是遇到了一些问题。

我可以将数据传递给 netsuite 吗?如果是这样,是否像使用特定的 netsuite 表单 url 向表单添加操作一样简单?

从我收集到的 netsuite 使用特定的输入字段等,那么如何在 html 中完成此操作,但将数据传递回 netsuite?ajax(可能不是由于同源政策)?形成行动?

如果这些都不合理,那么获得网络套件表单的移动迭代的合理解决方案是什么?

<form name="consultation-form" id="ConsultationForm" method="post" action="http://www.netsuiteformaddress.com/maybe?">
4

4 回答 4

2

您需要将帖子发布到 php 重定向文件以避免跨域问题:

使用它,显然用您的帐户信息替换 xxx。

<?php
session_start();
$url = 'https://forms.netsuite.com/app/site/crm/externalleadpage.nl?compid=xxxxxx&formid=xxx&h=xxxxxxxxxxxxxxxxxxxx';
$fields_string = '';
foreach($_POST as $key=>$value) {
    $fields_string .= $key.'='.$value.'&';
}
$fields_string = rtrim($fields_string,'&');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($_POST));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
$result = curl_exec($ch);
curl_close($ch);
exit();
?>

唯一的问题是重新发布需要一些时间。NetSuite 的响应速度非常慢,因此您可能会看到 4-8 秒的响应时间。

另一个解决方案是 RESTlet,这更简单。

于 2013-10-10T08:10:10.393 回答
1

我想您已经在 Netsuite Suitlet 中设计了这些 HTML 表单。现在您可以使用以下方法在 suitlet 中接收表单数据

request.getParameter('field_name');
于 2013-10-09T05:46:34.470 回答
1

查看在 NetSuite 中实现 RESTlet 以捕获表单数据。获取表单数据,将其放入 JSON 或 XML,然后使用负载中的 JSON 或 XML 调用 RESTlet(您在 NetSuite 中创建的自定义 REST 接口)。

然后 RESTLet 可以解析 JSON 并更新您创建的任何标准或自定义表以存储数据。

如果您熟悉 NetSuite SuiteScript(带有 NetSuite 特定库的 JavaScript),您可以立即使用它。

于 2013-10-09T12:59:53.760 回答
1

看看这篇文章,我相信它完全涵盖了你想要做的事情:

http://www.fmtconsultants.com/2014/05/the-best-way-to-integrate-external-web-forms-with-netsuite/

基本思想如您所想 - 对表单的外部 url 使用表单发布操作,并使用它们的“内部 ID”命名所有字段。

于 2015-08-25T00:46:01.443 回答