将html表单数据传递给Netsuite表单

时间:2013-10-08 16:25:24

标签: html-form netsuite

我目前正在为私立学校的网站工作。他们有一些netsuite形式,在整个网站实施,以收集潜在学生和家长的信息。

不幸的是,我们在提出netsuite表单的移动解决方案时遇到了一些困难。我的老板建议的一个解决方案是构建一个HTML表单并将该表单中的数据传递给Netsuite,在那里它将被解析等。

所以我构建了html表单,但是已经打了一个墙。

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

从我收集的内容中,netsuite使用特定的输入字段等,所以如何在html中完成,但将数据传递回netsuite? ajax(可能不是因为相同的原产地政策)?表格行动?

如果这些都不合理,那么获得netsuite形式的移动迭代的合理解决方案是什么?

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

4 个答案:

答案 0 :(得分:1)

您需要将帖子发送到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,这只是更简单。

答案 1 :(得分:0)

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

在theletlet中接收表单数据
request.getParameter('field_name');

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

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

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

基本思路是您所想的 - 使用表单发布操作到表单的外部网址,并使用他们的&#39; internalid&#39;来命名所有字段。