0

我正在jsp中创建一个Web界面。我有一个java字符串变量(我们称之为'a')和一些单选按钮,我试图在点击时获取选中的值(不提交表单)并将其值赋予变量。

我对天气进行了研究,这只能使用 jsp 来完成,但我找不到任何东西。所以我假设我必须使用 Javascript 来做到这一点。我是 Javascript 新手(如果我的问题很愚蠢,请原谅),但我编写了以下代码。

HTML:

`<input type="radio" name="phase" value="value1" class="checkboxes" id="design_phase" onclick="getRadioValue(this.id)" />Value1
 <input type="radio" name="phase" value="value2" class="checkboxes"  id="development_phase" onclick="getRadioValue(this.id)" checked/>Value2`

Javascript:

      `function getRadioValue(id) {
        var radioBtn = document.getElementById(id);
        if(radioBtn.value=="value1"){
                            alert(radioBtn.value);
            <%a="value1";
            System.out.println("value1!");%>
        }
        else{
                            alert(radioBtn.value);
            <%a="value2";
            System.out.println("value2!");%>
        }
        }`

当我运行它时,两个 System.out 内容都在我加载页面时打印,甚至在我选择一个复选框之前。我已经设置了警报功能,以确保 javascript 正确读取值,并且确实如此!所以问题似乎在于将js与jsp一起使用。

有谁知道我做错了什么,如何正确完成?

提前致谢!

4

1 回答 1

1

您应该使用 AJAX(如果您不想提交表单)。

这是方法论:

一旦用户选择单选按钮,就会触发 AJAX 调用,将请求发送到 servlet。servlet 恢复从单选按钮(来自请求对象)中选择的选项,并使用此值生成一个响应,其中包含您要在选择中显示的值(可能这些值存储在一个数组中),然后将响应发送到客户端。收到响应后,将在 select 中显示的值恢复并动态添加到 DOM。

查看此链接以了解如何执行此操作:如何使用 Servlets 和 Ajax?

这里还有一个非常简单的例子:将 JSON 从一个 JSP 返回到另一个?

于 2013-06-29T18:23:23.870 回答