Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JavaSpringBoot中,如何使用thymeleaf将表单动作作为函数传递,如何将表单动作作为函数解析_Javascript_Java_Spring_Forms - Fatal编程技术网

Javascript 在JavaSpringBoot中,如何使用thymeleaf将表单动作作为函数传递,如何将表单动作作为函数解析

Javascript 在JavaSpringBoot中,如何使用thymeleaf将表单动作作为函数传递,如何将表单动作作为函数解析,javascript,java,spring,forms,Javascript,Java,Spring,Forms,在我的spring boot应用程序中,我需要提交一个表单,表单操作应该是一个函数。这是我尝试的代码: 用于提交表单的html代码: <form role="form" id="form_id" data-parsley-validate="" novalidate="" class="mb-lg" th:action="get_action()" method="get"> 这就是我得到的错误 “出现意外错误(类型=内部服务器错误,

在我的spring boot应用程序中,我需要提交一个表单,表单操作应该是一个函数。这是我尝试的代码:

用于提交表单的html代码:

<form role="form" id="form_id" data-parsley-validate="" novalidate=""
                        class="mb-lg" th:action="get_action()" method="get">
这就是我得到的错误 “出现意外错误(类型=内部服务器错误,状态=500)。 无法解析为表达式:“get_action()”(管理员:55)


我应该如何解决这个问题,以便将表单操作作为函数传递?

你把事情搞砸了,thymeleaf在服务器端呈现视图,javascript在客户端执行,th:action希望得到一些themeleaf表达式(e.q@{/changePassword1})

如果您想使用javascript更改动作url,则需要将此脚本放置在底部标记中的某个html文件中,以便thymeleaf可以呈现thymeleaf变量

您需要在某个地方调用javascript url更改,我不知道是什么原因导致(您没有指定)url更改,所以我猜可以在加载页面(e.q jQuery$(document.ready())或由某些事件(按钮单击)引起后调用它

编辑

     <form role="form" id="form_id" data-parsley-validate="" novalidate=""
                            class="mb-lg" th:action="@{/changePassword}" method="get">

还有修改后的示例js

<script>
$(function(){
    function get_action(){
       //Will retrieve it
       console.log("form action url:" + $("#form_id").attr("action")); 

       $("#form_id").attr("action", "@{/changePassword1}"); //Will set it

    }

    get_action();
});
</script>

$(函数(){
函数get_action(){
//我会找回它的
log(“表单操作url:+$(“#表单id”).attr(“操作”);
$(“#form_id”).attr(“action”,“@{/changePassword1}”);//将设置它
}
get_action();
});

你把事情搞砸了,thymeleaf在服务器端呈现视图,javascript在客户端执行,th:action希望得到一些themeleaf表达式(e.q@{/changePassword1})

如果您想使用javascript更改动作url,则需要将此脚本放置在底部标记中的某个html文件中,以便thymeleaf可以呈现thymeleaf变量

您需要在某个地方调用javascript url更改,我不知道是什么原因导致(您没有指定)url更改,所以我猜可以在加载页面(e.q jQuery$(document.ready())或由某些事件(按钮单击)引起后调用它

编辑

     <form role="form" id="form_id" data-parsley-validate="" novalidate=""
                            class="mb-lg" th:action="@{/changePassword}" method="get">

还有修改后的示例js

<script>
$(function(){
    function get_action(){
       //Will retrieve it
       console.log("form action url:" + $("#form_id").attr("action")); 

       $("#form_id").attr("action", "@{/changePassword1}"); //Will set it

    }

    get_action();
});
</script>

$(函数(){
函数get_action(){
//我会找回它的
log(“表单操作url:+$(“#表单id”).attr(“操作”);
$(“#form_id”).attr(“action”,“@{/changePassword1}”);//将设置它
}
get_action();
});

何时更改表单操作url?何时更改表单操作url?已尝试。在同一html页面的底部添加了script标记,并使用$(document).ready()调用了它,但我遇到了同样的错误,我应该如何继续?@niranjandattatreeya我已经更新了帖子,使事情变得清晰。我尝试了它。在同一html页面的底部添加了script标记,并使用$(document.ready())调用了它,但我遇到了同样的错误,我应该如何继续?@niranjandattatreeya我已经更新了帖子以澄清问题