appendFormDataToURL完成导出,netsuite导出csv

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) 进行编码。对其编码应使用 encodeURIencodeURIComponent 方法。
要求

版本 1
请参阅

encodeURI 方法 | encodeURIComponent 方法 |String 对象 | unescape 方法

转载于:https://www.cnblogs.com/backuper/archive/2008/12/08/1350344.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值