채택완료
코딩 공부 중인데.... JS 새창열기에서 헤메고 있어용. ㅜㅜ
Copy
<?php
$keyword = $_GET['keyword'];
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get">
URL : <input type="text" name="keyword" value='<?php echo $keyword ?>'>
<input type="submit" value="전송" onclick="potal_search()">
</form>
<script>
var keyword = "<?php echo $keyword?>";
function potal_search(keyword) {
window.open("https://search.daum.net/search?w=tot&DA=YZR&t__nil_searchbox=btn&sug=&sugo=&q=" + keyword);
window.open("https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=" + keyword);
}
</script>
현재창은 그대로 둔 상태에서, 다음과 네이버를 동시에 각각 새탭으로 열리게 하려면?
|
답변 6개 / 댓글 14개
채택된 답변
+20 포인트
제어권에 관한 문제인데요,
부모창에서 클릭하면 먼저것이 새창으로 뜨게 될거고,
다음 명령이 실행되기 전에 새창으로 제어권이 넘어 갑니다.
비유를 들자면 focus가 새창으로 이동해 버린다는거죠.
그래서 그 다음 단계의 명령이 실행되지 못해
동시에 두개를 열 수 없게 되는 겁니다.
제어권을 통제해 본 적은 있는데 이 경우에는 모르겠네요.
이 코드로 교체해봐도 창이 하나만 열려용. ^^;<---------------
daum이 없어지고 naver가 열리는 상태인가요?
그렇다면 각각의 팝업창에 이름을 주어보세요
keyword, 'daum'
keyword,'naver'
답변에 대한 댓글 3개
아니 이게 답이라고요.
현재 상태에서 키워드 넣고. 클릭하면 창은 두개 열리는데 키워드가 없는 것으로 나오죠
다시 클릭하면 새창에 검색어 추가되어 열려요...
단지 코드가 잘못되어서 그럴뿐.
앞전 소스는 오류가 있고요.
아래 소스로 해보세요.
Copy
<?php
$keyword = $_GET['keyword'];
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get">
URL : <input type="text" name="keyword" value='<?php echo $keyword ?>' ID='keywd'><<추가 ID
<input type="button" value="전송" onclick="potal_search()"> input type="button" 으로 변경
</form>
<script>
//var keyword = "<?php echo $keyword?>"; // 필요없음
function potal_search( /*keyword 이거 필요없음*/ ) {
var keyword = document.getElementById('keywd').value; // 키워드값 구하기
window.open("https://search.daum.net/search?w=tot&DA=YZR&t__nil_searchbox=btn&sug=&sugo=&q=" + keyword);
window.open("https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=" + keyword);
}
</script>
답변에 대한 댓글 6개
두번째 클릭에서는 됩니다.
함수의 순서가 잘못되었어요.
Copy
<?php
$keyword = $_GET['keyword'];
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get">
URL : <input type="text" name="keyword" value='<?php echo $keyword ?>' ID='keywd'><<추가 ID
<input type="submit" value="전송" onclick="potal_search()">
</form>
<script>
//var keyword = "<?php echo $keyword?>"; // 필요없음
function potal_search(keyword) {
var keyword = getElementById('keywd').value; // 키워드값 구하기
window.open("https://search.daum.net/search?w=tot&DA=YZR&t__nil_searchbox=btn&sug=&sugo=&q=" + keyword);
window.open("https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=" + keyword);
}
</script>
답변에 대한 댓글 2개
keyword 라는 변수를 get으로 받은거라면 해당 함수의 인자로 받아야 되는게 아니고
function potal_search() {
var keyword = "<?php echo $keyword?>";
이게 맞을거 같은데요
뭐 참고로
var keyword = "<?php echo $_GET['keyword']?>";
형태를 추천드립니다.
답변을 작성하려면 로그인이 필요합니다.
질문 안 했으면 블랙홀에서 못 빠져나올 뻔 했네요.ㅋ