gpt4 book ai didi

javascript - 当单选按钮动态更改时,如何从单选按钮调用 onclick 函数?

转载 作者:行者123 更新时间:2023-12-03 12:27:30 24 4
gpt4 key购买 nike

我正在处理一个 CGI 文件,它从查询字符串中获取以下参数并按如下所示使用它。

$rettype = p->param('rettype');
if($rettype eq "A")
{
$achecked="checked";
$rchecked="";
}
if($rettype eq "R")
{
$achecked="";
$rchecked="checked";
}

这在文件的后面部分中使用,该部分选择需要选择哪个单选按钮。

<INPUT TYPE="radio" name="gctyp" VALUE="a" $achecked onClick="showTextArea()";>Add
<INPUT TYPE="radio" name="gctyp" VALUE="r" $rchecked onClick="hideTextArea()";>Remove

现在,我希望根据选中的选项调用单选按钮中存在的 onclick JS 函数。它是动态发生的,并且该函数不会被调用。

感谢您的帮助

最佳答案

看起来您正在执行一些 Perl 代码并将直接 HTML 打印到输出。这就是所谓的硬编码 HTML,并不是一个好的做法。查看模板模块,如 Template::Toolkit以获得更好的结果和更清晰的代码。另外,为了您的利益,我希望您在 Perl 代码顶部使用 use strictuse warnings

此外,您的 HTML 标记是用大写字母书写的。这已被弃用,请使用小写标签和参数,并在没有结束标签的结束标签之前添加 /,就像 input 大小写一样。

话虽如此,这是如何解决您提到的问题的示例:

my $javascript_call;

$rettype = p->param('rettype');
if ($rettype eq "A") {
$achecked = "checked";
$rchecked = "";
$javascript_call = 'showTextArea()';
}
if ($rettype eq "R") {
$achecked = "";
$rchecked = "checked";
$javascript_call = 'hideTextArea()';
}

print <<END;
<input type="radio" name="gctyp" value="a" $achecked onclick="showTextArea()" />Add
<input type="radio" name="gctyp" value="r" $rchecked onclick="hideTextArea()" />Remove
<script type="text/javascript">
$javascript_call
</script>
END

我只是添加一个额外的变量,其中包含一个调用,该调用将在打印单选按钮并使用您为此提供的相同代码结构后执行。

HTH

关于javascript - 当单选按钮动态更改时,如何从单选按钮调用 onclick 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24119443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com