2010-11-09 51 views
0

我在我的Perl文件中有一个数组,用于在另一个PHP页面中填充下拉菜单。在Perl文件中运行HTML/JavaScript

所以我有一个名为---> php.php的perl.pl文件。现在,这是我的PHP文件

$output = shell_exec("/usr/bin/perl perl.pl $arg1 $arg2"); 
echo $output; 

在我的Perl文件中的代码,这就是我通过在年底获得下拉菜单:

print "<SELECT id='process_type'>\n"; 
    foreach $value (@xvalues) { 
     #Removing any trailing white spaces from the option list 
     $value_no_space =~ s/\s+//g; 
     print "\t<OPTION value='$value_no_space'>$value</OPTION>\n"; 
     $i++; 
    } 
    print "</SELECT>\n"; 
    my $s = document.getElementById('process_type'); 
    print $s; 
    print "\n"; 

我希望,当我从PHP页面的菜单中选择了一个选项,该变量将返回并存储在$ s中。然而,这种情况并非如此。我明白PHP是客户端,Perl是服务器端,所以我不能得到结果。有没有解决办法?我真的需要有相同的Perl文件中选择的选项,以完成一些其他任务,我需要做...

+0

你的意思是[JScript](http://en.wikipedia.org/wiki/JScript)或[JavaScript](http://en.wikipedia.org/wiki/JavaScript)? – treeface 2010-11-09 23:12:08

+3

巨魔探测器刺痛... – alex 2010-11-09 23:25:49

+0

对不起,我的意思是Javascript。现在更改标题... – c0d3rs 2010-11-09 23:26:21

回答

1

PHP 服务器端 - 我认为你是令人困惑的PHP与JavaScript

要获得它可用的服务器端,给你的select一个name属性。

由于什么原因,您是通过PHP系统调用通过Perl来执行这部分代码的?

我想你想要的是最好的处理所有的HTML输出和POST处理与PHP。然后你可以使用你的Perl图形工具。

+0

Alex,在我的Perl文件中:我将我的' \ n“;'并且'\t \t my $ s = document.getElementById('process_type')。value; \t \t print $ s;'但我仍然无法获得Perl文件中的值。我做错了什么吗? – c0d3rs 2010-11-09 23:27:50

+0

嗯,我实际上已经解析了我的Perl程序中的一些数据。我想根据一些用户输入来执行这些数据。所以我将这些数据传递给我的PHP文件,希望能够得到下拉列表的输出并继续我的Perl程序。你认为这样做有更好的方法吗? – c0d3rs 2010-11-09 23:33:07

+0

嗯,事情是。在我用Perl解析我的文件后,我需要用户输入来更改这些数据。所以如果我在PHP中处理。我需要再次调用我的Perl脚本并重做所有解析,以便在收集用户输入后继续。我认为这是浪费资源,因为我两次解析相同的东西。你可能会建议为什么放一个'name'属性,不允许我收集选定的数据吗? – c0d3rs 2010-11-09 23:46:13