我目前正在尝试在查看this post后通过javascript动态创建表单。一切顺利,直到我尝试将javascript插入输入表单的值字段。我在想这样的事情
<input type = 'hidden' name = 'q' value = '<script>...some_script...</script>'
这是我尝试实现上述目标
my_form = document.createElement('form');
my_form.name = 'form_A';
....
my_tb = document.createElement('input');
my_tb.type = 'hidden';
my_tb.name = 'q';
my_tb.id = 'query';
my_tb.value = '<script>alert(document.cookie)</script>';
my_form.appendChild(my_tb);
document.body.appendChild(my_form);
document.form_A.submit();
问题是行my_tb.value = '<script>alert(document.cookie)</script>';
出现问题(甚至可能是非法的)当我在浏览器中运行该文件时,它会在该行之后打印出浏览器中的所有javascript,并在开发人员中控制台说Uncaught SyntaxError: Unexpected token ILLEGAL
在使用javascript创建 form_A 的同时,有没有办法达到我想要的效果?主要原因是我希望我可以将document.cookie
的值存储在javascript中的变量中并在以后使用它。
任何帮助将不胜感激。
答案 0 :(得分:0)
这是一个例子。
index.html
文件并粘贴以下内容。
<html>
<head>
<title></title>
</head>
<body>
<script>
// your site sets a cookie
document.cookie="username=John Doe";
my_form = document.createElement('form');
my_tb = document.createElement('input');
my_tb.value = document.cookie;
my_form.appendChild(my_tb);
document.body.appendChild(my_form);
alert(my_tb.value);
</script>
</body>
</html>
运行服务器python -m SimpleHTTPServer
打开http://localhost:8000/