我写了一个kitlet,它有两个部分--GET和POST。 在GET方法中,我有一个下拉列表和一个提交按钮。 在POST方法中,我有5个文本字段,它们根据从GET下拉列表中获取的值显示数据。
我想在提交按钮点击时调用iframe。 iframe将显示POST方法逻辑。简而言之,我不想在提交时导航到新页面,而是让整个页面在单页上工作。
我的代码
function init(request, response)
{
if(request.getMethod() == 'GET')
{
//... some code for dropdown and submit
//code for iframe
var context = nlapiGetContext();
var url = 'https://**url-of-post-method-results**.com';
var title = context.getSetting('SCRIPT', 'custscript_suitelet_title')
var content = '<iframe width=960px height=100% style="height:640px;" src=' + url + '></iframe>'
var newField = form.addField ('content', 'inlinehtml', title);
form.addField('extra', 'inlinehtml', '')
form.setTitle (title);
newField.setLayoutType('outsidebelow');
newField.setDefaultValue (content);
form.addSubmitButton('Submit');
response.writePage(form);
}
}
我提到Marty Zigman's tutorial on embedding iframe。但是我'。混淆了在GET或POST中嵌入iframe的位置?
答案 0 :(得分:1)
据我所知,NetSuite没有内置的API,以避免在这种情况下刷新页面。单击提交按钮,默认情况下,将通过post方法同步提交表单。您需要使用客户端代码通过NetSuite默认表单提交按钮上的jQuery中断click()事件方法。然后,您将使用jQuery自己发送帖子,并在响应中,通过更新iframe src url再次通过jQuery显示您想要的信息。
我道歉我目前无法访问帐户以便能够为您提供相应的JavaScript。我会谨慎破坏,因为你需要进入NetSuite UI才能使其工作。