2014-02-08 3 views
1

Я написал комплект, который состоит из двух частей - GET и POST. В методе GET у меня есть раскрывающийся список и кнопка отправки. В методе POST у меня есть 5 текстовых полей, которые отображают данные на основе значения, выбранного из раскрывающегося списка в GET.Netsuite: Как вставить iframe на пост-вызов

Я хочу позвонить в iframe при нажатии кнопки отправки. iframe будет показывать логику метода POST. Короче говоря, я не хочу перейти на новую страницу в submit, но чтобы все это работало на одной странице.

MY КОД

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. Но я'. путают, где встроить iframe, в GET или POST?

ответ

1

Насколько я знаю, NetSuite не имеет встроенного способа через свой API, чтобы избежать обновления страницы в таком случае. При нажатии кнопки «Отправить» по умолчанию отправьте форму методом отправки синхронно. Вам необходимо прервать метод события click() с помощью jQuery на кнопке отправки формы по умолчанию NetSuite, используя код на стороне клиента. Затем вы отправите сообщение самостоятельно, используя jQuery, и в ответ, покажите информацию, которую хотите, снова через jQuery, обновив url iframe src.

Прошу прощения. У меня нет доступа к учетной записи, чтобы предоставить вам соответствующий JavaScript. Я был бы осторожен в поломке, так как вам нужно немного взломать пользовательский интерфейс NetSuite, чтобы сделать эту работу.

+0

В основном это, хотя вместо использования перерывов проще просто отправить обратно на получение поддельной формы для обработки ajax. – pipechang

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