2017-03-18 10 views
0

私は、すべてのページの読み込み時にテキスト入力内に5つの乱数を生成するcaptchaを作成したかったのです。私がその機能を実行すると、それは動作しないので、なぜ私は不思議に思っています。ここ
はHTMLです:コメントで述べたように、クライアント側のキャプチャを作成すると、あなたのコードについてはJavaScriptの基本キャプチャを作成する

かなり無駄です、

function captchaCreate(){ 
    var niz = new Array(5); 
    for (var i; i<=5; i++){ 
     niz[i] = Math.floor(Math.random()*10); 
    } 
     document.getElementById("ver").value = niz.join(""); 
} 
+3

うーん...私は、これはどのような方法で有用であろうことを疑う、あなたが何をすべきかをしたいですかクライアントサイドキャプチャ? – Psi

+2

あなたの機能は不必要に複雑です。 '(1e6 + Math.floor(Math.random()* 1e6)+ '').slice(-6)'と同じ結果を得ることができます。 – Siguza

+0

入力要素に 'onload'イベントがありません。 – nnnnnn

答えて

1

:ここ

<input type="text" id="ver" onload="captchaCreate()" disabled></input> 

は、JavaScriptの関数であります入力にはonloadイベントがなく、ループする変数を割り当てる必要があります。undefined + 1NaN

ですあなたは

window.onload = function() { 
    captchaCreate(); 
} 

か、単にを使用することができますページ更新するとfonctionをロードする

window.onload = function() { 
 
    captchaCreate(); 
 
} 
 

 
function captchaCreate(){ 
 
    var niz = new Array(5); 
 
    for (var i=0; i<5; i++){ 
 
     niz[i] = Math.floor(Math.random()*10); 
 
    } 
 
    document.getElementById("ver").value = niz.join(""); 
 
}
<input type="text" id="ver" disabled></input>

+1

'<='ではなく '<'でなければなりません。 – nnnnnn

+0

これはjavascriptからの割り当てです。あなたのお手伝いをしてくれてありがとう、ありがとう。乾杯 – Guev4ra

0

captchaCreate(); 

を使用すると、JSやPHPでこれを行うことができますが、PHPページを読み込むときに一度だけ起動します(ページを更新するときにのみ関数を呼び出す必要があると言っています)。だからこれは私にとって良い作品

)あなたが^^ PHPを使用することができますしたい場合:

function captchaCreate(){ 
    var ar = new Array(5); 
    for (var i=0; i<5; i++){ 
     ar[i] = Math.floor(Math.random()*10); 
    } 
    document.getElementById("your_div").value = ar.join(""); 
} 
関連する問題