选中单选按钮

时间:2011-10-14 14:04:16

标签: javascript html asp-classic

提交表单时,单选按钮在选中时不会“检查”。表单效果不错,但我无法从按钮中获取值。有关当前代码的任何建议吗?

<form action="" method="post" id="termCloudForm">
    <nobr>
        Slot: 
        <input type="text" name="Slot" size="6" 
          <% If Request.Form("Slot") <> "" Then Response.Write(" value=""" & Request.Form("Slot") & """") %> 
         />
    </nobr>
    <nobr>
        Date: 
        <input type="text" name="Date" size="6" 
          <% If Request.Form("Date") <> "" Then Response.Write(" value=""" & Request.Form("Date") & """") %> 
        />
    </nobr>
    <nobr>
        <input type="radio" id="radio_button_1" name="radio_button" value="1" /> 
        rad1     
    </nobr>
    <nobr>
        <input type="radio" id="radio_button_2" name="radio_button" value="2" /> 
        rad2 
    </nobr>
<input type="submit" name="action" value="Submit" />
</form>

和我检索它的javascript部分已经大大简化,只是检查它是否已经通过。我认为强制它为termcloud的javascript是我收到错误的地方,但我不确定在哪里。

function initTermCloud() {
var myForm = document.getElementById("termCloudForm");
var slot = myForm.elements["Slot"].value;
var date = myForm.elements["Date"].value;
var url = encodeURI('http://TermCloudJSON2Local.asp?Slot=' + slot + '&Date=' + date);

alert(myForm.elements["radio_button_1"].checked == true);
var query = new google.visualization.Query(url);
query.setTimeout(20);
query.send(queryResponse);
}

3 个答案:

答案 0 :(得分:1)

使用

<% response.write(request.form("radio_button")) %>

必须打印1或2,具体取决于您的选择。

这不起作用?

编辑:根据您编辑的问题

试试这个

function validate(){
    var cont=0;
    var result=false;
    var oArr=document.getElementsByName('radio_button');
    for(cont=0;cont < oArr.length;cont++){
        if(oArr[cont].checked == true){
            alert(oArr[cont].id + 'was checked');
            result=true;
        }
    }
    return(result);
}

答案 1 :(得分:1)

尝试使用ID进行查找。

function initTermCloud() {
        var myForm = document.getElementById("termCloudForm");
        var slot = myForm.elements["Slot"].value;
        var date = myForm.elements["Date"].value;
        var url = encodeURI('http://TermCloudJSON2Local.asp?Slot=' + slot + '&Date=' + date);

        alert(document.getElementById("radio_button_1").checked)

        var query = new google.visualization.Query(url);
        query.setTimeout(20);
        query.send(queryResponse);
    }

答案 2 :(得分:1)

由于Rafael为您提供了正确的ASP语法来检索单选按钮值(即他的Response.Write代码),因此您不需要。

如果您遇到initTermCloud问题,可以使用Jinesh jain给您的答案。或者,您可以这样做:

http://www.randomsnippets.com/2008/05/15/how-to-loop-through-checkboxes-or-radio-button-groups-via-javascript/