Javascript随机数生成器到隐藏字段

时间:2014-12-22 13:01:37

标签: javascript hidden-field

我有一个创建随机数的脚本:

<script>
now = new Date();
randomNum = '';
randomNum += Math.round(Math.random()*9);
randomNum += Math.round(Math.random()*9);
randomNum += now.getTime();

var elem = document.getElementById("ID_UNIQUE");
elem.value = randomNum;
</script>

我试图传递&#34; ID_UNIQUE&#34;到隐藏的表单字段:

<form method="POST" action="action.php" name="form" onSubmit="return checkFields();">
<input type="hidden" name="ID_UNIQUE" onsubmit="this.ID_UNIQUE.value=randomNum">

不幸的是它不起作用。提交表单时,该值为空。想法?

非常感谢任何帮助

1 个答案:

答案 0 :(得分:7)

输入字段没有onsubmit,因此this.ID_UNIQUE.value=randomNum永远不会运行。

另外,关于以下代码

var elem = document.getElementById("ID_UNIQUE");
elem.value = randomNum;
  • 您的元素的ID不是ID_UNIQUE
  • 您可能在加载表单之前运行该代码

最简单的解决方案是执行以下操作,确保在加载HTML后立即调用此方法:

   <input type="hidden" name="ID_UNIQUE" id="ID_UNIQUE" />
   <script>
      var now = new Date();
      var randomNum = '';
      randomNum += Math.round(Math.random()*9);
      randomNum += Math.round(Math.random()*9);
      randomNum += now.getTime();
      var elem = document.getElementById("ID_UNIQUE").value = randomNum;
    </script>
}