4

我设计了一个注册表单,在获得所有必要的值后,我将在此表单中单击提交按钮。

在单击该提交按钮时,我想调用一个函数并将参数传递给该函数。

我为此目的编写了代码,但是在获取详细信息之前首先调用该函数。(即)在获取注册表单中的详细信息后,我需要将这些值传递给一个函数,并且我需要验证这些值。

但发生的事情是,在获取详细信息之前,该函数被调用。

4

3 回答 3

3

卡洛斯的建议是一种方式。另一个是在按钮上放置一个命令回调,从表单中读取值并调用您的函数,也许像这样。

$button->configure(-command => sub { yourFunc($var1, $var2); });

我假设您已将表单的字段绑定到变量$var1$var2此处;当然要根据自己的情况进行修改。

于 2010-04-06T07:58:27.677 回答
3

在指定代码引用和绑定到小部件的参数时,您有许多选项:

$w->configure( -command => [ \&subname,   @args ... ]             );
$w->configure( -command => [ sub { ... }, @args ... ]             );
$w->configure( -command => [ 'methodname', $invocant, @args ... ] );
$w->configure( -command => [ $invocant, 'methodname', @args ... ] );

有关更多信息,请参阅Tk::callbacks POD。

于 2010-04-06T18:10:25.613 回答
0

听起来像一个 vwait 问题。在 Perl/Tk 文档中查看:

$widget->waitVariable(varRef)

通过这种方式,您可以确定您的代码仅在修改等待变量时执行(即当您单击“提交”按钮时)

希望能帮助到你。

于 2010-04-06T07:54:34.597 回答