2012-04-24 29 views
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> 

ответ

3

Если вы создаете html для переключателя с использованием атрибута «checked», он будет проверен. Например, следующий 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 называется. Если никакое радио не было проверено, то не будет обнаружен не проверенный атрибут.

+0

Удивительно. Огромное спасибо. Это именно то, что мне нужно. Надеюсь, когда-нибудь я буду похож на вас. – Susie

1

Вы должны установить проверяемое свойство радиокнопки на сервере до повторной отправки страницы обратно в браузер.

HTTP - stateless protocol.

+0

Спасибо за ваш ответ. Поскольку я новичок, не могли бы вы рассказать мне, как это сделать? Пример кода будет действительно оценен. – Susie

+0

Извините, я не знаю Java, но принципы одинаковы. Попробуйте найти пример на основе Java. –

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 
Смежные вопросы