자바스크립트 새창 링크와 변수에 대한 질문 드려요.
본문
자바스크립트 새창 링크와 변수에 대한 질문 드려요.
먼저, 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>
아니면 리스너이벤트를 써도 되고... 등등...
!-->!-->!-->!-->!-->!-->