gpt4 book ai didi

javascript - 在 onclick 方法上创建 get 方法

转载 作者:行者123 更新时间:2023-11-28 07:37:44 25 4
gpt4 key购买 nike

当有人使用 Thymeleaf 和 Spring 单击“选择”中的“选项”元素时,我想获取有关客户的信息:

<select th:onclick="javascript:doAction(' + @{/userInfo} + '?name=this.options[this.selectedIndex].value' + ')">
<option value="John">John</option>
<option value="Sam">Sam</option>
</select>

请求的查询:

http://server:port/userInfo?name=John

@RequestMapping(value = "/userInfo", method=RequestMethod.GET)
public String processForm(String name) {
System.out.print(user); // "John"
}

但它不起作用。 :(
你能帮我解决这个问题吗?

最佳答案

我认为您可能对这部分有疑问:

th:onclick="javascript:doAction(' + @{/userInfo} + ' name=this.options[this.selectedIndex].value' + ')"

你检查过 Thymeleaf 生成了什么吗?

但是。以下是关于如何使用一些 jQuery 在每次选择更改时触发请求的想法:

$('#users').on('change', function(){
var url = $(this).data('url') + "?name=" + $('#users option:selected').val();
$('#result').html(url);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<select id="users" data-url="/userInfo">
<option value="John">John</option>
<option value="Sam">Sam</option>
</select>

<p id="result"></p>

在此片段中,我只是打印您在帖子中建议的 URL,但您已经明白了。使用 Thymeleaf,您可以将 data-url="/userInfo" 替换为 th:attr="data-url=@{/userInfo}"

此外,您的方法 processForm(String name) 可能存在问题。变量 name 是一个请求参数,因此您需要对其进行注释,例如:

@RequestMapping(value = "/userInfo", method=RequestMethod.GET)
public String processForm(@RequestParam(value = "name", required = true) String name) {
System.out.print(user); // "John"
}

关于javascript - 在 onclick 方法上创建 get 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28407474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com