ganlan 发表于 2008-9-7 14:18:59

请教在关联时,遇到数组的如何处理?

在设置关联函数时,返回值格式如下,这个应该如何定义左右边界呢?

例如想取值11633823 赋值给A,应该如何定义web_reg_save_param 呢?

<script>
      var returnArray = new Array();
      bnum = 0;
      returnArray="11633823";
      returnArray="14921562";
      returnArray="20080907743297";
      returnArray="080907928660";
      returnArray="174367";

      returnArray="2";
      returnArray="22119263";
      returnArray="80711033";
      returnArray="00";
      returnArray="install/queryInstallNormalTelAction.do";

      returnArray="装机";
      returnArray="00";
      returnArray="电话";
      returnArray="1";
      returnArray="2008-09-07 12:27:25";

      returnArray="00";
      returnArray="";
      returnArray="";
      returnArray="1611";
      returnArray="0";

      returnArray="4";
      returnArray="2910";
      returnArray="27815821";

var executeResult = "SUCCESS";
var msg = "保存成功!";

ganlan 发表于 2008-9-7 15:54:01

web_reg_save_param("A",
                "LB=returnArray=\"",
                "RB=\";",
                  "Ord=2",
                LAST);
        lr_output_message("produce_Id is %s\n", lr_eval_string("{A}"));
这样取时 发现取不下来。

shiweijian 发表于 2008-9-7 22:34:33

Ord=1吧 貌似

亚瑟王 发表于 2008-9-8 09:34:51

同意楼上的,把order去掉;默认取第一个

ganlan 发表于 2008-9-8 11:49:49

好像不行,Ord=1也取不到,以下是打印信息

Action.c(714): rn_number is 80711031
Action.c(718): Registering web_reg_save_param was successful       
Action.c(723): A is {A}

A 打印不出值来,
加ord是为了不只要取这个,不知道这个边界定义是否有问题?

云层 发表于 2008-9-8 14:14:12

把ord改成all 用参数数组的方法解决即可

ganlan 发表于 2008-9-8 17:34:07

将函数改成如下:

web_reg_save_param("A",
                "LB=returnArray=\"",
                "RB=\";",
      "Ord=ALL",
                LAST);

        lr_output_message("A is %s\n", lr_eval_string("{A_1}"));
        lr_output_message("A is %s\n", lr_eval_string("{A}"));

---------
打印出来:
Action.c(718): Registering web_reg_save_param was successful       
Action.c(724): A is {A_1}
Action.c(725): A is {A}

似乎还是取不到值,注册函数成功是否已经说明,左右边界没问题呢?但是为何中间的数值就取不出来呢?对于" 是应该改成\" 就可以了吧?

ganlan 发表于 2008-9-8 17:37:16

用Ord=1 和 用Ord=ALL的数组 有什么区别?

web_reg_save_param("A",
                "LB=returnArray=\"",
                "RB=\";",
      "Ord=ALL",
                LAST);

        lr_output_message("A is %s\n", lr_eval_string("{A_1}"));

云层 发表于 2008-9-9 12:41:47

关联函数写在请求前面,取值脚本写在请求后。。。

lijian422202 发表于 2008-9-9 13:34:10

ALL就是把符合条件的值都取出,存放在参数数据中,可以通过参数_下标提取出来,你可以做循环打印出来看看

ganlan 发表于 2008-9-24 10:24:04

//循环输出用
      int i;
      char temp = {0};

...

    web_reg_save_param("A",
                "LB=returnArray=\"",
                "RB=\";",
                "NotFound=ERROR",
                "Ord=ALL",
                "Search=Body",
                LAST);
lr_output_message("注册成功!!!!!");

...


//输出关联函数

lr_output_message("==循环输出关联函数的数组值==");
    for(i=1;i<=20;i++)
{
sprintf(temp,"{A_%d}",i);
lr_output_message("temp %s\n", lr_eval_string(temp));
}


调试几次后发现可以打印出值来了,以上为循环打印出数组的值。
页: [1]
查看完整版本: 请教在关联时,遇到数组的如何处理?