appendFormDataToURL完成导出,netsuite导出csv-CarlZeng
footer_actions 是netsuite中 所有系统列表form页面都存在的对象,就是页脚那些可以用来排序,过滤等等的对象,我们可以对这些对象进行操作,包括定制,系统完成您操作后的动态刷新当前页面的功能。这个四个对象是包括在form:foot_actions中的,是四个隐藏的对象,在界面上无法查看到,是系统内置的用来动态管理其自身功能的变量。比如在导出时候:document.forms[‘…
footer_actions 是netsuite中 所有系统列表form页面都存在的对象,就是页脚那些可以用来排序,过滤等等的对象,我们可以对这些对象进行操作,包括定制,系统完成您操作后的动态刷新当前页面的功能。
<input type=hidden name=‘sortcol’ value=‘Transaction_TRANDATE_raw’>
<input type=hidden name=‘sortdir’ value=‘ASC’>
<input type=hidden name=‘csv’ value=‘HTML’>
<input type=hidden name=‘OfficeXML’ value=‘F’>
这个四个对象是包括在form:foot_actions中的,是四个隐藏的对象,在界面上无法查看到,是系统内置的用来动态管理其自身功能的变量。
比如在导出时候:
document.forms[‘footer_actions’].elements.csv.value=’Export’;
//document.forms[‘footer_actions’].elements.OfficeXML.value=’F’;
document.location.replace(appendFormDataToURL(‘/app/accounting/transactions/transactionlist.csv?searchtype=Transaction’));
csv被变成Export时,在用appendFormDataToURL才会发生导出动作哦!~
function appendFormDataToURL(url,omit) {
var footer = document.getElementById(‘div__footer’);
var elem, frm = parent.document.forms[‘footer_actions’];
if (isValEmpty(url)) url = ‘’
for (var i = 0; i < frm.elements.length; i++) {
elem = frm.elements[i];
if (elem.name.length == 0 || elem.name == omit || elem.name.indexOf(‘inpt_‘) == 0) continue;
if (elem.type==’select-one’)
url = addParamToURL(url, elem.name, escape(parent.getSelectValue(elem)));
else if (isMultiSelect(elem))
url = addParamToURL(url, elem.name, escape(getMultiSelectValues(elem)));
else if (elem.type==’radio’)
url = addParamToURL(url, elem.name, escape(getRadioValue(elem)));
else if (elem.type==’checkbox’)
url = addParamToURL(url, elem.name, (elem.checked ? ‘T’ : ‘F’));
else if (elem.type==’text’)
url = addParamToURL(url, elem.name, escape(elem.value));
else if (elem.type==’hidden’ && elem.name != ‘frame’)
url = addParamToURL(url, elem.name, encode(elem.value));
}
return url; }
这个隐含的API中调用到了系统公开的一个API:addParamToURL和一个escape方法:
addParamToURL(param, value, dynamic)
Adds a URL parameter to this column. Should only be called after calling setURL(xxx)
Parameters
? param {string} - The parameter name added to the URL
? value {string} - The parameter value added to the URL
? dynamic {boolean} - If true, then the parameter value is actually an alias that is
calculated per row
-———————–
escape 方法
对 String 对象编码以便它们能在所有计算机上可读,**escape(**_charString_**)**
必选项 charstring 参数是要编码的任意 String 对象或文字。
说明
escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 “%20” 。
字符值大于 255 的以 %uxxxx 格式存储。
注意 escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。
要求
版本 1
请参阅
encodeURI 方法 | encodeURIComponent 方法 |String 对象 | unescape 方法