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

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

QA

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

답변 1

본문

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

 

먼저, 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>

 

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

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 946
© SIRSOFT
현재 페이지 제일 처음으로