免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1707 | 回复: 2
打印 上一主题 下一主题

请教一个可能很复杂的PERL问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-08-08 08:42 |只看该作者 |倒序浏览
我从http://sourceforge.net/project/showfiles.php?group_id=60154&release_id=185106 下载了个叫SAMIE的东西, 是用来自动化控制IE的.  它说是基于dhtml DOM (Document Object Model) http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp 而写的, 我弄不清楚它是怎么用的.  还是提我的问题吧.

按装SAMIE后, 有一个SAM.PM会被放到D:\Perl\site\lib\Win32, 里边有一个sub SetListBoxItem, 如果该ListBox是单选一个选项, 它是完全没问题,例如
  1.         <select name=regsex>;
  2.         <OPTION value=1>;男</OPTION>;
  3.         <OPTION value=2>;女</OPTION>;
  4.         <OPTION value=none selected>;保密</OPTION>;
  5.         </select>;
复制代码

就没问题, 因为男女只能选一..

可如果遇到可以多选的,例如可以同时选男女, 就不行了.  我估计是   $select->;{value} = $ItemName;的问题.  我说的不好, 不知道有没有人明白呢.


  1. sub SetListBoxItem { #$SelectName, $ItemName, $formname
  2.   my ($SelectName,$ItemName,$formname) = @_;
  3.   my ($IEDocument,$IEObject,$i,$forms,$form,$select);
  4.   my $IEObjectGroup;
  5.   #If ItemName is blank make it ""
  6.   $ItemName = "" if (!defined($ItemName));
  7.   foreach $IEObjectGroup (@AllIEObjects) {
  8.     foreach $IEObject (@$IEObjectGroup) {
  9.       $IEDocument = $IEObject->;{Document};
  10.       $forms = $IEDocument->;forms;
  11.       for ($i=0; $i<$forms->;length; $i++) {
  12.         $form = $forms->;item($i);
  13.           if (defined($formname)) {
  14.           if ($form->;name ne $formname) {
  15.             next;
  16.           }
  17.         }
  18.         $select = $form->;elements($SelectName);
  19.         $select->;{value} = $ItemName;
  20.         return;
  21.       }
  22.     }
  23.   }
  24. }
复制代码
  1. [/code][code]
复制代码

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-08-09 10:42 |只看该作者

请教一个可能很复杂的PERL问题

$select = $form->;elements($SelectName);
這個地方可能要修改一下....或再去看看他的document...
因為HTTP面對多選的時候..會送出
abc=123&abc=1&abc=2&abc=3
同一個$selectname但是有不同的數值...最上面只會抓第一筆..
所以你得去看看他有沒有其他抓這些參數的方法..
不然你就只能自己改寫這一塊...自己切割

论坛徽章:
0
3 [报告]
发表于 2004-08-09 13:45 |只看该作者

请教一个可能很复杂的PERL问题

[quote]原帖由 "apile" 发表:
$select = $form->;elements($SelectName);
這個地方可能要修改一下....或再去看看他的document...
因為HTTP面對多選的時候..會送出
abc=123&abc=1&abc=2&abc=3
同一個$selectname但是有不同的數值...最上面
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP