2013-10-08 3 views
0

В настоящее время я работаю над сайтом для частной школы. У них есть несколько несеевских форм, которые внедряются на всем сайте для сбора информации от будущих студентов и родителей.Передача данных формы html в форму Netsuite

К сожалению, у нас есть немного сложного времени, когда вы приступите к мобильному решению форм нэцуйте. Одним из решений, которое предложил мой босс, является построение HTML-формы и передача данных из этой формы в Netsuite, где она будет проанализирована и т. Д.

Итак, я построил html-форму, но ударил немного стены ,

Могу ли я передавать данные на netsuite? Если это так просто, как добавление действия к форме с определенным netsuite form url?

Из того, что я собираю, netsuite использует определенные поля ввода, такие как и т. Д., Так как это можно сделать в html, но передавая данные обратно в netsuite? ajax (возможно, не из-за той же политики происхождения)? Форма действий?

Если ни одно из них не является правдоподобным, то какое разумное решение получить мобильную итерацию форм нэцуита?

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

ответ

1

Вам нужно сделать запись в файл перенаправление PHP, чтобы избежать проблем перекрестного происхождения:

Используй это, и, очевидно, заменить ххй с вашим счетом Infromation.

<?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, это просто проще.

0

Я полагаю, что вы разработали эти HTML-формы в Netsuite Suitlet. Теперь вы можете получить данные формы в suitlet, используя следующий метод

request.getParameter('field_name'); 
0

Посмотрите на реализацию RESTlets в NetSuite, чтобы захватить данные формы. Возьмите данные формы, поместите их в JSON или XML, затем вызовите RESTlet (пользовательский интерфейс REST, который вы создаете в NetSuite) с JSON или XML в полезной нагрузке.

RESTLet может затем разобрать JSON и обновить любую стандартную или настраиваемую таблицу, которую вы создаете для хранения данных.

Если вы знакомы с NetSuite SuiteScript (JavaScript с библиотеками, специфичными для NetSuite), вы можете быстро это сделать.

+0

Я просто пытаюсь представить новые данные, а не обновлять данные. Я изучал nlapiRequestURL, но понятия не имею, как начать реализацию этого. Документация немного запутанна, и примеров не так уж много.Я пытаюсь передать данные через ajax в свой netsuite-форму url, я получаю успешный возврат, но никаких данных никогда не делает и не хранит в netsuite. – EHerman

+0

Вы можете использовать RESTlet для отправки новых данных. Я делаю это все время. –

0

Посмотрите на эту статью, я считаю, что это охватывает именно то, что вы пытаетесь сделать:

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

Основная идея заключается в том, как вы думали - использовать форму после действия на внешний URL формы и назвать все поля, используя их «internalid».

Смежные вопросы