2017-02-10 37 views
0

私は次のスニペットを持っているとします。これは、基本的にボタンが付いたフォームです。 NetSuiteのドキュメントによるとSuiteScript 2.0のaddButtonは関数を呼び出す必要がありますか?

define(['N/ui/serverWidget', 'N/search', 'N/https'], 
function(serverWidget, search, https) { 
function onRequest(context) { 
    if (context.request.method === 'GET') 
    { 
    var form = serverWidget.createForm({ 
     title: 'Some Form' 
    }); 
    // some code 
    form.addButton({ 
     id : '_buttonId', 
     label : 'Button Label', 
     functionName: "someFunctinonIWantToCallOnClick(myParam)" 
    }); 
     context.response.writePage(form) 
    } else { 
     // some other code 
    } 
    } 
function someFunctinonIWantToCallOnClick(myParam) 
{ 
    // some code 
} 
return { 
    onRequest: onRequest 
}; 
}); 

:クリックで、私は関数を実行したい options.functionName string optional

関数名は、クリックイベントでトリガされます。 バージョン2016リリース1

私は間違っていますか?

答えて

1

例にはいくつか問題があります。

  1. あなたは実際にフォームを書いていません。最終的には次のものが必要です。

    context.response.writePage(form);

  2. 呼び出したい機能は、サーバー上にのみあります。クライアント上で定義されていません。その機能を持つクライアントスクリプトを含める必要があります。

    form.clientScriptModulePath = './myFormClient.js';

+0

こんにちは、応答に感謝します。 1. context.response.writePage(form); 1。 else文の直前にあります。それは意味がある、私が正しく理解した場合:someFunctinonIWantToCallOnClick(myParams)をクライアントスクリプトに移動し、フォームにバインドしてから、私のボタンが関数を呼び出す必要がありますか? – user2187935

+0

はい。そのとおりです。 – bknights

関連する問題