javascript - 如何在输入标签值属性中运行函数
问题描述
我有一个 html 页面,当他想转账时我发送给客户作为响应
response.end(
`
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>The Good Server</title>
</head>
<body>
<p>Transfer money to other users with the super safe form which uses the latest HTTP GET method!</p>
<form action="/money_transfer" method="get">
<div class="container">
<label for="from"><b>Tranfer from</b></label>
<input type="text" value="good_user" name="from" required readonly>
<label for="to"><b>Transfer to</b></label>
<input type="text" placeholder="User you want to send money to" name="to" required>
<label for="sum"><b>Sum to transfer (in full Euros)</b></label>
<input type="number" placeholder="Enter a sum" name="sum" required>
<input name="csrf_token" type="hidden" value="setCSRFtoken()">
<button type="submit">Transfer money</button>
</div>
</form>
</body>
</html>
`
);
我尝试获取随机生成的令牌并将其设置为输入标签的值,如按钮之前所示:转账。我的 setCSRFtoken 函数还将令牌存储到一个数组中。
const setCSRFtoken = () => {
var result = '';
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var charactersLength = characters.length;
for ( var i = 0; i < 10; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
console.log(result)
csrfTokens.push(result);
return result;
从 setCSRFtoken 函数返回的值必须放入输入的 (name=crsf_token) 值中。
问题是目前我无法让函数在页面中运行并返回随机生成的值。我还考虑将值作为参数添加到页面,但不知道如何将其添加到响应中。
<input name="csrf_token" type="hidden" onload="this.value=setCSRF()">
将上面的代码视为修复程序,但它对我不起作用
解决方案
推荐阅读
- python-3.x - Scrapy重复行
- python - Django:如何在基于类和基于函数的自定义验证器之间做出决定?
- javascript - 如何使用 node.js 将我的 postgresql 数据库表传输到 heroku?
- octobercms - 如何将变量从页面传递到部分
- r - RStudio,按列类应用函数
- qt - 为什么我抓不到OOM异常?
- sql - SQL - 错误:没有这样的列 - 加入表
- c++ - 使用 fmtlib,当值为负时,零填充数值更短,我可以调整这种行为吗?
- laravel - Laravel 8 Jetstream Inertia 没有渲染视图组件
- serialization - 嵌套序列化程序的创建方法中的非空约束失败