如何在提交时使用JavaScript为表单添加更多输入标记值

时间:2011-08-17 19:51:13

标签: javascript forms

我有一个页面,可能有大约1个以下的形式。

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Page</title>
    </head>
    <body>
        <form id="form1">
            <input type="text" name="fname1" />
            <input type="submit" />
        </form>
        <form id="form2">
            <input type="text"  name="fname2"/>
            <input type="submit" />
        </form>
        <form id="form3">
            <input type="text" name="fname3" />
            <input type="submit" />
        </form>

        <script>
             var formsx = document.forms.length; 
             for (i= 0; i < formsx; i++) {
                 form = document.forms[i];
                 form.addEventListener("submit", function(evt){
               /// alert("form action");
               });
             }
        </script>
    </body>
</html>

每当用户使用Classic Javascript提交表单时,我想添加一个隐藏值()。如果任何表单提交,则应添加新的隐藏值。因此在后端,POST请求将具有两个“名称”和“隐藏”参数值,而不是根据上述脚本的值。我只想用JavaScript编写代码。请提前告知我如何才能做到这一点。

1 个答案:

答案 0 :(得分:3)

您只需使用document.createElementappendChild

form.addEventListener("submit", function(evt){
  var input = document.createElement("input");
  input.setAttribute("type", "hidden");
  input.setAttribute("name", newName);
  input.setAttribute("value", "value");
  form.appendChild(input);
  return true;
});