Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > Событие по нажатию кнопки


Автор: PalmOs 30.5.2008, 19:03
Есть форма, в ней две кнопки, одно поле для ввода. Как сделать так чтобы при нажатие первой кнопки выполнялось одно событие, а при нажатие другой другое событие
Код

sub print_query {  # печать первого фрейма
$script_name = $query->script_name;
print "<H1>Finding the right partners statistics</H1>\n";
print $query->startform(-action=>"$script_name/response",-TARGET=>"response");
print "Enter ID the partner",$query->textfield('name');
print $query->submit(-name=>'go',-value=>'OK');
print "<br>\n";
print "<hr>\n";
print "<H1> The output statistics for all partners </H1>\n";
print $query->submit(-name=>'go',-value=>'OK');
print $query->endform;
}


Работаю с фреймами. Сейчас при нажатие первой и второй кнопки, происходит одно и то же событие.

Автор: ginnie 30.5.2008, 21:30
Уважаемый PalmOs, что Вы подразумеваете под событием? Если Вам нужно, чтобы после нажатия разных кнопок выполнялся разный код скрипта, тогда дайте кнопкам разные имена, и проверяйте в скрипте, какой параметр пришел (в запросе будет параметр, соответствующий нажатой кнопке). Если Вам надо вызывать разные скрипты, в зависимости от нажатой кнопки, то это можно сделать только через javascript. 

Автор: PalmOs 30.5.2008, 22:50
Мне нужно чтоб после нажатия кнопки, выполнялась определенная часть скрипта. 
А можно пример какой нибудь? smile 

Автор: nitr 31.5.2008, 09:34
PalmOs, пересмотрите вашу структуру скрипта, например, как посоветовал многоуважаемый ginnie, дайте имена и значения кнопкам, от этого у нас будут разные получаемые параметры, ну и просто события разные на каждый параметр.
Если я вас конечно понял ;) . А так такой способ, к примеру, описан в рецептах Perl, там где CGI (про магазин пример).
 

Автор: ginnie 3.6.2008, 17:18
Уважаемый PalmOs, самый простой пример

Код

my $query = new CGI;
if ($query->param('button1')) {
    # обработчик нажатия button1
}
elsif ($query->param('button2')) {
    # обработчик нажатия button2
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)