채택완료

자바스크립트 질문입니다

2019-07-10 (수) 11:36:40 2,982

3717875314_1562726065.3894.png

자바스크립트로 랜덤출력 만들어보고있습니다

지금은 테스트로 0,1 값을 넣고 테스트보고있는데

저기에 3717875314_1562726121.1461.png

이런식으로 입력 폼으로 받은 값을 0,1에 대체하고 싶습니다

0자리에는 input1값이 1에는 input2값이 입력되도록이요..

초보라 방법을 모르겠네요..

어떻게 해야되나요?

답변 5개 / 댓글 7개

채택된 답변
+20 포인트

function getRandomNum( iLen ) {

   var arr = "0,1".split(",");

   var rnd = 랜덤만들기함수( arr, iLen );

   if( rnd == 0 )

      document.getElementById( "input1" ).value = 0;

   else if ( rnd == 1 )

      document.getElementById( "input1" ).value = 1;

}

다음에 올리실때는 코드는 쳐서 올리세요.

타이핑 너무 힘들어요.

답변에 대한 댓글 2개

아아 그건 생각을 못했네요
감사합니다!! ㅠㅜㅠ

근데 저걸 적용해봤는데
입력한 값으로 바뀌는게 아닌거 같네요ㅜㅜ 제가 잘 못하는건지..

쉽게 작성해보면
var arr="인풋1,,인풋2".split(","); 이런식으로 변경하고싶습니다
아 저는 그것을 인풋박스에 입력하는 것으로 했어요.
아래 코드로 바꾸세요.

function getRandomNum( iLen ) {

var arr = "0,1".split(",");

var rnd = 랜덤만들기함수( arr, iLen );

if( rnd == 0 )

document.getElementById( "divRandom" ).innerText = document.getElementById( "input1" ).value;

else if ( rnd == 1 )

document.getElementById( "divRandom" ).innerText = document.getElementById( "input2" ).value;

}
2019-07-10 (수) 13:25:06
Copy
function getRandomNum(n1, n2, iLength) {
    //var arr="2,6".split(",");
    var arr = [];
    arr[0] = document.getElementById(n1).value;
    arr[1] = document.getElementById(n2).value;
    var rnd = createCode(arr, iLength);
    document.getElementById("divRandom").innerText = rnd;
    return rnd;
}

getRandomNum() 함수는 저리 바꾸시고 input에 들어가는 부분은 아래처럼 바꾸시면 될 것 같습니다.

<input type="button" value="문자배열" onclick="getRandomNum('input1', 'input2', document.getElementById('length').value)">

<!DOCTYPE html>
<html lang="kr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap Agency Template</title>
   <script type="text/javascript">


    // Random Code 생성
    function createCode(objArr, iLength) { // 핑요없음
        var arr = objArr;
        var randomStr = "";

        for (var j=0; j<iLength; j++) {
            randomStr += arr[Math.floor(Math.random()*arr.length)];
        }
        return randomStr
    }

    // 숫자
    function getRandomNum(iLength) {
        var arr="0,1".split(","); // 필요없음
        var rnd = createCode(arr, iLength); // >>. 필요없음

        var tx = "";
        var aaa;

        for( i=0; i<iLength; i++ ) {
            aaa = Math.floor(Math.random() * 2);
            if( aaa == 0 ) tx += document.getElementById("input1").value;
            else           tx += document.getElementById("input2").value;
        }
        

        document.getElementById("divRandom").innerText = tx;
        return;
    }

</script>

</head>
<body >

    <br>생성될 길이 : <input type="text" id="length" value=10>
    <br>
    <br>
    문자열 입력  <input type="text" id="input1" >  <input type="text" id="input2" >
    <br><input type="button" value="문자배열" onclick="getRandomNum(document.getElementById('length').value)">
    <br>


    <p>문자배열 : <div id=divRandom></div></p>

</body>
</html>

답변에 대한 댓글 1개

정말 감사합니다ㅠㅠ 잘되네요

<!DOCTYPE html>
<html lang="kr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap Agency Template</title>
   <script type="text/javascript">
    
    
    // Random Code 생성
    function createCode(objArr, iLength) {
        var arr = objArr;
        var randomStr = "";
        
        for (var j=0; j<iLength; j++) {
            randomStr += arr[Math.floor(Math.random()*arr.length)];
        }       
        return randomStr
    }
       
    // 숫자
    function getRandomNum(iLength) {
        var arr="0,1".split(",");
        var rnd = createCode(arr, iLength);
        document.getElementById("divRandom").innerText = rnd;
        return rnd;
    }

</script>
    
</head>
<body >

<br>생성될 길이 : <input type="text" id="length" value=10>
<br>
<br>
문자열 입력  <input type="text" id="input1" >  <input type="text" id="input2" >
<br><input type="button" value="문자배열" onclick="getRandomNum(document.getElementById('length').value)">
<br>
 

<p>문자배열 : <div id=divRandom></div></p>
 


</body>
</html>

3717875314_1562728981.3941.png

3717875314_1562729019.1094.png

지금 스크립트는 0,1 값을 고정으로해서 보여지고있는데

저걸 인풋1 인풋2에 넣은값으로 나오게 하려구요..

답변에 대한 댓글 4개

채택된 답변의 댓글로 수정 코드 붙여놨습니다.
초보긴 초보인가보네요 ㅎㅎ
적용이 안되네요 ㅠㅠ
전체 코드를 다 올려봐야될까요,.
전체 말구요.
그부분 태그랑
그부분 스크립트만요.
답변이 위로 올라가네요
저런식으로 버튼을 누를때마다 0,1숫자가 랜덤으로 생성됩니다
이것을 입력받은 값으로 표시하려고합니다

답변을 작성하려면 로그인이 필요합니다.