2012-11-22 137 views
-1

我對JavaScript很新穎,而且我無法生成一個函數來生成隨機密碼。當我點擊一個按鈕時,該函數被調用。空白和MD5功能包含在不同文件中。這個js函數有什麼問題?

function genPass(id) { 
     if(!empty(id)) { 
      var n = Math.ceil(Math.random()*(5*Math.random())); 
      n = n.substring(0,7); 
      //document.getElementById(id).value = n; 
      document.write(n); 
     } 
    } 
+2

該功能的錯誤或問題究竟是什麼? – tbraun89

+0

瀏覽器控制檯中的任何錯誤?那些會告訴你問題是什麼。或者,嘗試使用調試器逐個執行代碼。 –

+0

我不斷收到的錯誤是:n.substring不是函數 – Shaymus

回答

0

random()函數返回整數類型,也許你想先讓字符串?

,您可以嘗試這樣的:

... 
var n = Math.ceil(Math.random()*(5*Math.random())).toString(); 
... 
+0

好的,謝謝你的工作。 – Shaymus

0

n不是一個字符串,因此你不能使用子方法就可以了。要變成一個字符串,使用.toString()方法,幾乎​​所有的對象都具有:

var n = Math.ceil(...).toString(); 

由此可見,n將有子方法。