如何在选择单选按钮后启用提交按钮?

问题描述:

我正在写一个Perl CGI脚本。如何在选择单选按钮后启用提交按钮?

首先,提交按钮被禁用,当任何单选按钮被选中时,它应该被启用。每个对应的行(同名)都有一个单选按钮。

+3

这不是perl/cgi的问题。但是[启用/禁用基于单选按钮的提交按钮](http://stackoverflow.com/questions/5818415/enable-disable-submit-button-based-on-radio-buttons)可能有所帮助。 – Kenosis 2012-07-11 14:53:02

+0

是啊,你是对的@Kenosis,但事情是,我正在用Perl/CGI做这件事,你也可以使用其他语言。 – Shaggy 2012-07-12 05:10:08

这更可能是一个JavaScript问题,除非你想重新加载页面,启用提交按钮。但你可以指定 CGI中的JavaScript事件。

对于收音机组来说,这只是一个小技巧。由于radio_group子允许每个项目的属性,所以您只需为每个选择指定相同的事件。

my @values = qw<eenie meenie minie>; 
my $enableSubmit 
    = { -onClick => q[document.getElementById('mySubmitButton').disabled = false;] } 
    ; 
print CGI->radio_group(
     -name  => 'group_name' 
    , -values  => \@values 
    , -default => 'meenie' 
    , -linebreak => 'true' 
    , -labels  => { map { $_ => ucfirst } @values } 
    , -attributes => { map { $_ => $enableSubmit } @values } 
    ); 
+0

这很简单,所以+1。但我想我仍然更喜欢将该HTML/JS写出来。你自己写的CGI方法有什么优势吗? – simbabque 2012-07-11 15:28:37

+1

只有CGI具有非常积木式的感觉。在我以前的工作中,我们曾使用Template Toolkit来为通过的CGI块进行一些自定义。使用CGI很容易获得基本页面并运行。使用TT(以及我们的mod)很容易获得一个复杂的页面并运行。 – Axeman 2012-07-11 15:50:14

+0

谢谢@Axeman :) !!!干杯!!。 – Shaggy 2012-07-12 05:41:43