[英]In java spring boot how to pass form action as a function using thymeleaf, ,How to parse form action as a function
在我的spring boot應用程序中,我需要提交一個表單,並且form動作應該是一個函數。 這是我嘗試的代碼:
提交表單的html代碼:
<form role="form" id="form_id" data-parsley-validate="" novalidate=""
class="mb-lg" th:action="get_action()" method="get">
javascript函數:
function get_action(){
$("#form_id").attr("action"); //Will retrieve it
$("#form_id").attr("action", "@{/changePassword1}"); //Will set it
}
這是我得到的錯誤“發生了意外錯誤(類型=內部服務器錯誤,狀態= 500)。無法解析為表達式:“ get_action()”(管理員:55)“
我應該如何解決這個問題,以便我可以將表單操作作為函數傳遞?
您搞砸了,thymeleaf在服務器端渲染視圖,而javascript在客戶端執行,th:action期望得到一些表情表達式(eq @ {/ changePassword1})。
如果要使用javascript更改操作網址,則需要將此腳本放置在底部標簽中的html文件中,以便百里香葉可以呈現您的百里香葉變量。
您需要在某個地方調用您的javascript url更改,我不知道是什么原因(您未指定)url更改,所以我想可以在頁面加載后調用它(eq 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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.