给出HTML表单:
<select name="fruit">
<option value="1">Apple</option>
<option value="2">Banana</option>
</select>
假设用户选择第二个选项并提交表单。在Perl CGI应用程序中,我可以通过调用2
来获取所选值param('fruit')
。如何获取所选标签Banana
?
我一直在网上搜索一个小时,但找不到答案。
答案 0 :(得分:3)
那是不可能的。该信息不会传输。浏览器仅将fruit=1
放入其创建的HTTP请求中。您的Perl程序无法获取此信息。它根本就不存在。
通常,Perl程序会控制在这种情况下什么值意味着什么。您的程序中会有一个匹配的设置知道1
Apple 而2
是 Banana 。
您必须更改value
属性。也许像1|Banana
之类的东西,保留1
,以防其他地方需要它。在这种情况下,管道|
是任意的,我只是选择它,因为您的数据似乎不包含这样的字符。
如果您无法控制页面,您还可以使Perl程序获取包含表单的同一页面并对其进行解析,以查找1
的含义。但这听起来效率很低。查看HTML::TreeBuilder以获取解析HTML的标准方法。