java - 如何将加密值从包含 "onchange"的 JAVA 构建的 HTML 传递到 HTML

标签 java html ajax

我通过 AJAX 将其从 JAVA 传递到 HTML:

json = json + "<input class='form-control mr-sm-2' type='date' name='awardDate' id='awardDate' value='" + youthMemberAward.getCaAwardedDate() + "' onchange='myFunction(this.value, " + youthMemberAward.getAwId() + ")' style='width: 160px;'/>";

但是,我想在传回 YouthMemberAward.getAwId() 之前对其进行加密:

byte[]   bytesEncoded = 
Base64.encodeBase64(youthMemberAward.getAwId().getBytes());//encoding part
String encoded_award_ID = new String(bytesEncoded);
json = json + "<input class='form-control mr-sm-2' type='date' name='awardDate' id='awardDate' value='" + youthMemberAward.getCaAwardedDate() + "' onchange='myFunction(this.value, " + encoded_award_ID + ")' style='width: 160px;'/>";

但是,当我这样做时,我收到错误。当我检查页面时,错误是:

Uncaught SyntaxError: Unexpected token )

传回的加密值是:Ng==

加密的原因是这个值是我在日期发生更改时用来更新数据库的 key 。因此,我想在更新数据库之前防止有人更改它,从而导致更改错误的行。

最佳答案

您正在将 String 传递到 myFunction 中,因此需要用双引号 (") 将其括起来

"' onchange='myFunction(this.value, \"" + encoded_award_ID.replace("\"", "&quot;") + "\")' style='width: 160px;'/>";

并记住在此过程中转义双引号

关于java - 如何将加密值从包含 "onchange"的 JAVA 构建的 HTML 传递到 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50230673/

相关文章:

java - 在多实例应用程序中存储文件

html - 在数据库表中存储 css 值

php - JavaScript 问题?

JavaScript - 如何检查数字输入字段中是否输入了字母字符或符号

javascript - 在页面中包含 html 文件而不应用原始页面 CSS/JS

php - PHP中获取无序列表的所有列表项

java - 带有 JSON 参数的 Spring REST Web 服务,可使用 Jquery AJAX 使用

java - 如何使我的 J2EE Web 应用程序脱机工作?

java - 当我使用 services.msc 启动服务器时,在 tomcat 中打印不起作用(从客户端我们无法打印)

java - org.json.JSONException : No value for id - IMPOSSIBLE TO SOLVE