【问题标题】:Running HTML/JavaScript in a Perl File在 Perl 文件中运行 HTML/JavaScript
【发布时间】:2011-05-07 13:57:28
【问题描述】:

我的 Perl 文件中有一个数组,我用它来填充另一个 PHP 页面中的下拉菜单。

所以我有一个由 ---> 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 文件中包含选定的选项才能完成我需要做的其他一些任务......

【问题讨论】:

  • 你的意思是JScript还是JavaScript
  • 巨魔探测器正在刺痛......
  • 对不起,我的意思是 Javascript。现在更改标题...
  • 这里更像是一个 Perl 人——但都一样——你为什么要使用 perl?你不知道所有的 PHP 实用程序吗?
  • 可能不会!但是我正在使用 Perl 中的一个绘图实用程序,经过大量努力后,我成功地解析了我的文件!用 PHP 重新做一遍的想法让我害怕!

标签: php arrays perl forms


【解决方案1】:

PHP 服务器端 - 我认为您将 PHP 与 JavaScript 混淆了。

要使其在服务器端可用,请为您的 select 提供 name 属性。

您出于什么原因使用 Perl 通过 PHP 系统调用执行那部分代码?

我认为您想要的最好是使用 PHP 处理所有 HTML 输出和 POST 处理。然后你就可以使用你的 Perl 绘图工具了。

【讨论】:

  • Alex,在我的 Perl 文件中:我将 '\n";'还有'我的 $s = document.getElementById('process_type').value;打印 $s;'但我仍然无法获得 Perl 文件中的值。我做错了什么吗?
  • 嗯,其实我已经在我的 Perl 程序中解析了一些数据。我想根据一些用户输入来执行这些数据。所以我将这些数据传递给我的 PHP 文件,希望我可以得到下拉列表的输出并继续我的 Perl 程序。您认为有更好的方法吗?
  • 嗯,事情是这样的。在 Perl 中解析文件后,我需要用户输入才能继续更改此数据。因此,如果我在 PHP 中处理它。我需要再次调用我的 Perl 脚本并重做所有解析,以便在收集用户输入后继续。我认为这是浪费资源,因为我两次解析相同的东西。您能否建议为什么放置“名称”属性不允许我收集所选数据?
猜你喜欢
  • 2014-01-18
  • 2021-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-10
  • 2012-05-12
  • 1970-01-01
  • 2021-11-23
相关资源
最近更新 更多