如何使用web_reg_save_param方法保存的多个参数?
web_reg_save_param方法中,如果参数部分指明"ORD=ALL",则可以保存多个参数。例如“web_reg_save_param("flight_num","LB=<input type=\"checkbox\" name=\"","RB=\" value=\"on\">","ORD=ALL",LAST)”,将会根据实际情况查找符合条件的内容,然后把找到的结果依次保存在参数flight_num_1、flight_num_2、flight_num_3、……中。如果要使用这些参数,可以借助数组来完成。
下面的示例演示了在订票程序中,如何把找到的票号保存到数组中,然后利用循环语句生成参数名称并保存到数组中。得到参数列表后,接下来就能进行其它操作,例如删除订票等。
Action() { int i; int count; char param[10][20]; web_reg_save_param("flight_num","LB=<input type=\"checkbox\" name=\"","RB=\" value=\"on\">","ORD=ALL",LAST); web_url("com.mercurytours.servlet.IteneraryServlet", "URL=http://localhost/servlets/com.mercurytours.servlet.IteneraryServlet", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://localhost/servlets/com.mercurytours.servlet.ReservationServlet", "Snapshot=t3.inf", "Mode=HTML", LAST); count=atoi(lr_eval_string("{flight_num_count}")); lr_error_message("已经订票的数量:%d",count); for(i=1;i<=count;i++){ sprintf(param[i],"{flight_num_%d}",i);//参数名称存到数组中 lr_error_message(param[i]); } for(i=1;i<=count;i++){ lr_error_message(lr_eval_string(param[i]));//使用参数 } return 0; } |