使用cgi操作提交Javascript?

使用cgi操作提交Javascript?,javascript,html,cgi,onsubmit,Javascript,Html,Cgi,Onsubmit,我有一个html表单,有一个cgi脚本在操作上运行,然后我有一个javascript onsubmit函数,它应该检查单选按钮是否已填写,否则它不会提交 <script> function checkscript() { .... check if a radio button was clicked otherwise dont submit. } </script> <form action="default.cgi" method="post" ons

我有一个html表单,有一个cgi脚本在操作上运行,然后我有一个javascript onsubmit函数,它应该检查单选按钮是否已填写,否则它不会提交

<script>
function checkscript()
{
 .... check if a radio button was clicked otherwise dont submit.  
}
</script>

<form action="default.cgi" method="post" onsubmit="return checkscript()" enctype=
"application/x-www-form-urlencoded">
<h1>Choose</h1>

<p><input type="radio" name="Radio" value="1" /><font size="5"
color="#0033CC">Instant Psychology</font><br />
<br />
<input type="radio" name="Radio" value="2" /><font size="5"
color="#CC0000">Instant Geography</font><br />
<br />
<form/>

函数checkscript()
{
..检查是否单击了单选按钮,否则不要提交。
}
选择
即时心理

即时地理


我可以在html文件中的Javascript函数中执行此操作,还是需要在cgi脚本中执行此操作?

以下脚本适用于所有浏览器。首先,获取页面上的输入,然后在每个页面中循环检查Radio的name属性。一旦找到一个选中(选中)的无线电输入,它将返回true,并提交表单。但是,如果没有检查(选择)任何输入,脚本将返回false并阻止提交

function checkscript()
{
    var inputs = document.getElementsByTagName("input");
    for (var i=0, l=inputs.length; i<l; i++) {
        if (inputs[i].name === "Radio" && inputs[i].checked) return true;
    }
    return false;
}
函数检查脚本()
{
var inputs=document.getElementsByTagName(“输入”);

对于(var i=0,l=inputs.length;i如果可以使用jquery,就可以这样做

function checkscript(){
  if($('#radio-button').is(':checked')) return true;
  else return false;
}
是的,你可以把它放在你的html文件中


希望这有帮助。

如果您正确使用ID(每个HTML元素都应该有一个唯一的ID),那么这将不起作用。但是,如果您的选择器是$(“[name=Radio]”),那么它将起作用。您也可以简单地使函数体:return$(“input[name=Radio]”)。is(“:checked”);这是假设您的html页面中只有一个单选按钮。但要解决这一问题,您可以始终使用类来代替。谢谢您的提醒。=)