使用javascript将javascript附加到HTML字段

时间:2015-11-30 03:21:21

标签: javascript

我目前正在尝试在查看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中的变量中并在以后使用它。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是一个例子。

  1. 创建index.html文件并粘贴以下内容。
  2. <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>

    1. 运行服务器python -m SimpleHTTPServer

    2. 打开http://localhost:8000/