【问题标题】:Perl: XUL::GUI how to pass variable between javascript and perlPerl:XUL::GUI 如何在 javascript 和 perl 之间传递变量
【发布时间】:2014-07-16 16:08:00
【问题描述】:

Perl 专家

我正在尝试使用 Web::Gui 为我的团队制作应用程序,但遇到了一个障碍,我需要在 perl 和 javascript 之间传递变量。

我的代码从文本区域获取输入,通过 perl 进行一些处理,然后通过 javascript 刷新 a 来显示结果。我从 CPAN 上的 XUL::GUI 示例中看到 perl 脚本可以通过 javascript 中的“perl()”调用。但是,该示例没有显示如何在 perl 和 javascript 之间传递变量。

你能指出我正确的方向吗?

use Web::Gui;
display
    ( CENTER 
         H3( 'Pathe!' ),
         ( FORM
              ( TEXTAREA id => 'myText', rows => 10, cols => 50, readonly => 1, TEXT => 'disks' )
              ( INPUT type => 'button', value => 'Search', onclick => function q{
                  var text = document.getElementById('myText').innerHTML;
                  perl( "mySub( text )" );
                  document.getElementById('d').innerHTML = "<b>" + text + "<b/>"; } 
              )
        ),
        ( DIV id => 'd' )
    );

sub mySub {
  return "$_[0]35";
}

【问题讨论】:

    标签: javascript perl xul


    【解决方案1】:

    我解决了这个问题。就是 perl q 和 qq 函数:

    display
        ( CENTER 
            H3( 'Pathe!' ),
            ( FORM
                ( TEXTAREA id => 'myText', rows => 10, cols => 50, readonly => 1, TEXT => 'disks' ),
                ( INPUT type => 'button', value => 'Search', onclick => \&mySub )
            ),
            ( DIV id => 'd' )
        );
    
    
    sub mySub {
        my $input = ID(myText)->value;
        $input .= "156";
        gui qq{ document.getElementById('d').innerHTML = '<b>' + \'$input\' + '<b/>'; }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-07-23
      • 2011-12-03
      • 2013-03-27
      • 1970-01-01
      • 2016-09-05
      • 2015-05-23
      • 2011-06-03
      • 1970-01-01
      相关资源
      最近更新 更多