자바스크립트 새창 링크와 변수에 대한 질문 드려요.

자바스크립트 새창 링크와 변수에 대한 질문 드려요.

QA

자바스크립트 새창 링크와 변수에 대한 질문 드려요.

본문

자바스크립트 새창 링크와 변수에 대한 질문 드려요.

 

먼저, PHP는 좀 알지만 자바스크립트는 거의 모르는 상태라는 걸 말씀드립니다. 

어디서 구한 스크립트를 살짝 바꾸려고 하는데요... (굳이 스크립트로 해야 할 사정이 생겨서요.)

 

해야 되는 것은 새창 띄우기변수 추가, 이렇게 두 가지입니다. 

 


<script >
var randomlinks=new Array()
 
randomlinks[0]="http://www.yahoo.co.kr"
randomlinks[1]="http://www.daum.net"
 
function randomlink(){
window.location=randomlinks[Math.floor(Math.random()*randomlinks.length)]
</script>

 

1. 그런데 이렇게 하니까 현재창에서 그냥 이동해 버리네요.

위 스크립트에서 새창으로 띄우려면 window.location 라인을 어떻게 바꿔야 하나요?

(새탭으로 열리는 것도 괜찮음. 그냥 타겟만 _blank면 돼요.)

 

2. 위 링크에 변수를 추가하려고 합니다. 

예를 들어, randomlinks[0]="여기 링크 부분"에 https://duckduckgo.com/?q=를 변수 val와 연결해서 넣고 싶습니다. 

randomlinks[0]="https://duckduckgo.com/?q="+val; 

이렇게 하면 안 될 거 같구... 어떻게 바꾸는 것이 좋을까요?

 

간단한 거 같은데 스크립트를 몰라서 헤매고 있습니다.

고수님의 고언을 부탁드립니다. 감사합니다. 

 

추: 염치 불구하고 하나만 더 의견을 구합니다. 

현재 검색창의 input id가 sch_stx일 경우, 여기에 "뭐가 입력되어 있는지 아닌지(null인지)"를 알려면 자바스크립트에서 어떤 것을 사용하면 되나요? 대충이라도 좀....

 

이 질문에 댓글 쓰기 :

답변 1


<script >
randomlinks = ["http://www.yahoo.co.kr", "http://www.daum.net"];
function randomlink(){
    window.open(randomlinks[Math.floor(Math.random() * randomlinks.length)]);
}
</script>
<div style="width:80px;padding:10px;border:3px double #cccccc;text-align:center;background-color:#eeeeee;border-radius:5px;cursor:pointer" onclick=randomlink()>클릭</div>

 

window.open("경로"); - 새창으로 열기입니다.

 

두번째 것은 정확히 무언지 모르겠어서...


<script >
randomlinks = ["https://sir.kr/qa/455659", "https://sir.kr/qa/454558"];
page = ["?page=1", "?page=2"];
function randomlink(){
    my = Math.floor(Math.random() * randomlinks.length);
    window.open(randomlinks[my] + page[my]);
}
</script>
<button style=cursor:pointer onclick=randomlink()>클릭</button>

 

보통 php 겟변수를 받을 때는 아래처럼 함수를 만들고

a, b 라는 매개변수를 넣어서 파라미터 처리합니다.


<script >
function randomlink(a, b){
    window.open(a + b);
}
</script>
<button onclick="randomlink('https://sir.kr/qa/455659?page=','1')">클릭</button>
<br>
<button onclick="randomlink('https://sir.kr/qa/454558?page=','2')">클릭</button>

 

마지막으로 input 에 담긴 내용은 input 의 아이디가 sir 이라면 sir.value 로 확인합니다.

아래 input 안에 아무 글자나 넣고 클릭해 보세요.


<input id=sch_stx>
<div id=my></div>
<button style=cursor:pointer onclick=my.innerHTML=sch_stx.value>클릭</button>

 

my.innerHTML=sch_stx.value 를 자바스크립트 함수로 만들어서 사용해 됩니다.


<input id=sch_stx>
<div id=my></div>
<script>
function you() {
    my.innerHTML = sch_stx.value;
}
</script>
<button style=cursor:pointer onclick=you()>클릭</button>

 

아니면 온클릭 콜백함수로...


<input id=sch_stx>
<div id=my></div>
<button id=btn style=cursor:pointer>클릭</button>
<script>
btn.onclick = function() {
    my.innerHTML = sch_stx.value;
}
</script>

 

아니면 리스너이벤트를 써도 되고... 등등...

감사합니다.
상세한 예제 코드까지 달아주시니 공부하는 데에 정말 많은 도움이 되었습니다.
예제에서 얻은 힌트를 이용해서 각종 짜깁기를 했더니 다 해결되었습니다.
다시 한 번 더 감사드립니다!

답변을 작성하시기 전에 로그인 해주세요.
전체 35
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT