Javascript 如何同时提交表单和打开引导模式?

Javascript 如何同时提交表单和打开引导模式?,javascript,jquery,html,spring,thymeleaf,Javascript,Jquery,Html,Spring,Thymeleaf,我需要提交HTML(带Thymeleaf)表单,同时打开一个引导模式。为了提交表单,我在按钮标签中设置了type=“submit”。当我只需要打开一个模式时,我设置type=“button”。它是有效的。但是如何用一个按钮完成这两个动作呢 使用按钮创建表单: <div class="button-view"> <form id="view-form" action="/view-modal" method="get">

我需要提交HTML(带Thymeleaf)表单,同时打开一个引导模式。为了提交表单,我在按钮标签中设置了
type=“submit”
。当我只需要打开一个模式时,我设置
type=“button”
。它是有效的。但是如何用一个按钮完成这两个动作呢

使用按钮创建表单:

<div class="button-view">
    <form id="view-form" action="/view-modal" method="get">              
        <input type="hidden" th:value="${n.getId()}" name="viewNoteId">
        <button class="btn btn-info" data-toggle="modal" data-target="#view-modal" 
                type="button">View</button>
    </form>
</div> 

使用javascript使用onclick函数通过AJAX提交数据

按钮示例:

<button th:onclick="'submit(\'' + ${n.getId()} + '\');'" class="btn btn-info" data-toggle="modal" data-target="#view-modal"
      type="button">View</button>
控制器:

@RequestMapping(value = "admin/users", method = RequestMethod.POST)
public RedirectView addUser(@RequestBody int id) {
        /////
}

类似这样的情况。

我用
type=submit
猜测您正在提交表单,从而强制重新加载页面。您需要转换代码,使其通过ajax提交,从而不会重新加载页面。或者,在页面加载上显示模式并在发布时设置。如何将
userId
传递给控制器?是否应该使用@RequestBody而不是@RequestParam?什么viewNote()应该返回而不重新加载页面?我认为第一行应该这样看
var userId={stringId:id}否则您将丢失
id
值。我将答案编辑为正确。您甚至不需要创建map变量,因为您只传递一个变量。如果要传递多个变量,则需要在服务器代码中创建一个数据传输对象,然后JSON.stringify映射并将stringify变量设置为AJAX的数据。
function submit(userId) {
    $.ajax({
        url : yourURLString,
        type : 'POST',
        data : userId,
        dataType: 'json',
        contentType: 'application/json',
        success : function(returndata) {

        },
        fail : function() {

        }
    });
}
@RequestMapping(value = "admin/users", method = RequestMethod.POST)
public RedirectView addUser(@RequestBody int id) {
        /////
}