簡體   English   中英

在Java Spring Boot中,如何使用thymeleaf將表單動作作為函數傳遞,如何將表單動作作為函數進行解析

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM