Javascript不工作或调用不工作

Javascript不工作或调用不工作,javascript,Javascript,我有一个功能,当我在家里测试时可以工作,但当我在家测试时它不工作。该函数创建一个随机字符串,并在我加载表单时立即调用它。我觉得除了功能外,其他都可以工作。我不知道为什么会这样。有人能帮我吗 谢谢 <script language="javascript" type="text/javascript"> function randomString() { var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghiklmn

我有一个功能,当我在家里测试时可以工作,但当我在家测试时它不工作。该函数创建一个随机字符串,并在我加载表单时立即调用它。我觉得除了功能外,其他都可以工作。我不知道为什么会这样。有人能帮我吗

谢谢

<script language="javascript" type="text/javascript">
function randomString() {
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghiklmnopqrstuvwxyz";
    var string_length = 3;
    var randomstring = '';
    var currentTime = new Date();
    var hours = currentTime.getHours();
    var minutes = currentTime.getMinutes();
    var seconds = currentTime.getSeconds();
    for (var i=0; i<string_length; i++) {
        var rnum = Math.floor(Math.random() * chars.length);
        randomstring += chars.substring(rnum,rnum+1);
    }
    document.getElementById('UniqueId').value = randomstring + hours + minutes + seconds;
}
</script>

函数randomString(){
var chars=“0123456789abcdefghijklmnopqrstuvxyzabcdefghiklmnopqrstuvxyz”;
变量字符串长度=3;
var randomstring='';
var currentTime=新日期();
var hours=currentTime.getHours();
var minutes=currentTime.getMinutes();
var seconds=currentTime.getSeconds();

对于(var i=0;i如果将此脚本放在
head
标记中,则可能在加载其余html之前执行它。这意味着,尚未加载id为
UniqueId
的此类元素,因此无法找到它。请在html文档完全加载后尝试调用它

yourFunction = function() { ...code... }
window.onload = yourFunction
更新:

<script type="text/javascript">
    var randomString = function() {
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghiklmnopqrstuvwxyz";
    var string_length = 3;
    var randomstring = '';
    var currentTime = new Date();
      var hours = currentTime.getHours();
      var minutes = currentTime.getMinutes();
      var seconds = currentTime.getSeconds();
      for (var i=0; i<string_length; i++) {
        var rnum = Math.floor(Math.random() * chars.length);
        randomstring += chars.substring(rnum,rnum+1);
      }
      document.getElementById('UniqueId').value = randomstring + hours + minutes + seconds;
  }

  window.onload = randomString;
</script>

var randomString=函数(){
var chars=“0123456789abcdefghijklmnopqrstuvxyzabcdefghiklmnopqrstuvxyz”;
变量字符串长度=3;
var randomstring='';
var currentTime=新日期();
var hours=currentTime.getHours();
var minutes=currentTime.getMinutes();
var seconds=currentTime.getSeconds();

对于(var i=0;iadd将代码添加到您的问题中…如果没有一些示例codeCheck,这可能是无法回答的(没有代码,这是模糊的)您的
标记中的任何
src
属性都正确解析,或者您在家中使用的浏览器不支持任何功能。调用函数时是否确定表单在DOM中?在本地连接上测试表单时,加载速度可能足够快,但在较慢的(internet)上测试表单时连接…可能是表单尚未加载到DOM中。我想问题可能出在第17行。说真的,你希望有人能在不显示一行代码的情况下帮助你吗?我尝试过将脚本放在头标签中,调用在IE中工作,但在Firefox中仍然不工作。用测试过的代码更新我的答案。如果你是Firefox的粉丝,使用Firebug检查错误和调试。