我通过使用 .createElement 函数创建表单元素,在 JS 中创建了一个表单。我的问题是我以相同的方式创建了 CSRF token ,但我总是收到“ token 不匹配”错误。这是我的代码
function sem(term)
{
if(sem==1)
{
var doc = document.getElementById("list_of_courses");
var createform = document.createElement('form');
createform.setAttribute("action","reg_save");
createform.setAttribute("method","post");
doc.appendChild(createform);
var csrf = document.creatElement('input');
csrf.setAttribute("type","hidden");
csrf.setAttribute("id","_token");
csrf.setAttribute("value","{{csrf_field()}}")
createform.appendChild(csrf);
var linebreak = document.createElement('br');
var Algebra = document.createElement('input');
Algebra.setAttribute("type","checkbox");
Algebra.setAttribute("name","FAEN101");
createform.appendChild(Algebra);
}
}
最佳答案
您设置了创建的 input
标记的 id
,而不是 name
。
给你..
csrf.setAttribute("name","_token");
关于javascript - 如何为使用 JS 创建的表单创建 CSRF 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47797806/