2

我知道这个问题可能听起来很基本,但我一直在尝试解决它,但我仍然无法做到。我将非常感谢任何帮助。

我的 jsp 页面中有两个单选按钮。当任何一个被选中时,它都会调用一个 Javascript 函数。最终会发生的是,如果您选择单选按钮 1,它将显示表 1 中的数据,如果选择单选按钮 2,则显示表 2 中的数据。

结果,我的页面被刷新并且不再选择单选按钮。我想向用户显示选择了哪个单选按钮。

function viewUploadedData(){
    document.location.href = "ForecastInquiryFilter.do?exportVar=viewUploadedData";

function viewTopsData(radio){
    document.location.href = "ForecastInquiryFilter.do?exportVar=viewTopsData";
}
<input type="radio" name="dataTypeToView" id="topsData" onclick="viewTopsData();"/>
<label for="topsData">TOPS Data</label><br/>
<input type="radio" name="dataTypeToView" id="uploadedData" onclick="viewUploadedData();"/>
<label for="uploadedData">Uploaded Data </label>
4

3 回答 3

3

如果您使用“checked”属性为单选按钮生成 html,它将被选中。例如,以下 html 将生成一个选中的单选按钮:

<input type=radio name=myradio value=1 checked>

因此,话虽如此,您需要修改您的 jsp 以有条件地为相应的单选按钮生成“已检查”属性。大概你的jsp知道哪个单选按钮被选中,所以希望这应该很容易编码。

因此,您的 jsp 代码可能看起来像这样:

<%
String whichRadio = request.getParameter("myradio");
String r1checked = "";
if (whichRadio.equals("1")) r1checked = " checked";
String r2checked = "";
if (whichRadio.equals("2")) r2checked = " checked";
%>
<input type=radio name=myradio value="1"<%= r1Checked %>>
<input type=radio name=myradio value="2"<%= r2Checked %>>

上面的代码将为调用您的 jsp 时检查的任何无线电生成已检查的属性。如果没有选中收音机,则不会生成选中的属性。

于 2012-04-24T22:07:53.793 回答
1

在将页面重新发送回浏览器之前,您需要在服务器上设置单选按钮的 CHECKED 属性。

HTTP 是一种无状态协议

于 2012-04-24T18:01:19.880 回答
0

使用jstl

<input type="radio" name="digest" value="md5" <c:if test="${digest == 'md5' or empty digest}">checked</c:if>>md5
<input type="radio" name="digest" value="sha1" <c:if test="${digest == 'sha1'}">checked</c:if>>sha1
于 2016-09-07T10:16:58.167 回答