2017-03-18 4 views
0

그래서 모든 페이지를 다시로드 할 때 텍스트 입력 안에 5 개의 임의 번호를 생성하는 captcha를 만들고 싶습니다. 이 함수를 실행하면 작동하지 않으므로 이유가 궁금합니다. 다음은 자바 스크립트 기능입니다자바 스크립트에서 기본 captcha 만들기

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

:
다음은 HTML입니다

, 코멘트에 언급 된 클라이언트 측 보안 문자를 생성하는 코드에 관해서는

꽤 쓸모으로

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

음 ... 나는 이것이 당신이 수행 할 작업을 원하십니까, 어떤 식 으로든 도움이 될 것입니다 의심 클라이언트 쪽 captcha? – Psi

+2

그리고 당신의 기능은 불필요하게 복잡합니다. '(1e6 + Math.floor (Math.random() * 1e6) + '') .slice (-6)'와 같은 결과를 얻을 수 있습니다. – Siguza

+0

입력 요소에는'onload' 이벤트가 없습니다. – nnnnnn

답변

1

, 입력에 onload 이벤트가없고 undefined + 1NaN

이므로 루프 할 변수를 지정해야합니다.

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

자바 스크립트의 과제입니다. 도와 주셔서 감사합니다. 감사합니다. 건배 – Guev4ra

0

페이지를 새로 고침 할 때

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

하거나 사용할 수있는 fonction를로드 :

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(""); 
}