2014-05-16 3 views
0

아래 코드를 가지고 있지만 사용자가 확인한 모든 페이지를 열고 싶지만 지금은 하나만 엽니 다. 한 번에 여러 페이지 열기

<form> 
    <input type="checkbox" id="site1" name="site1" value="site1">site1<br> 
    <input type="checkbox" id="site2" name="site2" value="site2">site2 
    <input name="submit" value="check" type="submit" onclick="validate()"> 
</form> 

그리고 스크립트에 대한

는 :

function validate() { 
    if (document.getElementById('site1').checked) { 
     window.open('http://www.site1.com'); 
    } else { 

    } 
} 

지금은 모든 아마 다른 방법이 별도의 스크립트가?

function validate() { 
    if (document.getElementById('site2').checked) { 
     window.open('http://www.site2.com'); 
    } else { 

    } 
} 

귀하의 답변에 감사드립니다!

+0

당신은 두 번 같은 기능을 선언 할 수 없습니다. 당신이하는 일을 정말로 분명히하지 마십시오. 브라우저 콘솔에 어떤 오류가 발생합니까? – charlietfl

+0

아래의 코멘트를보십시오. 지저분한 코드가 수정되었지만 "다중 페이지 열기"가 아직 –

+0

에 없었기 때문에 브라우저에서 얼마나 빨리 여러 창을 열 수 있는지에 대한 제한이있을 수 있습니다. 지연 설정 시도 – charlietfl

답변

1

선택한 모든 체크 박스를 반복하고 window.open으로 전화하십시오.

function validate() { 
    $(":checkbox:checked").each(function() { 
     var sitename = $(this).val(); 
     window.open('http://www.' + sitename + '.com'); 
    }); 
    return false; // Prevent form submission 
} 

DEMO

+0

코드가 훨씬 더 깨끗하지만 동일한 문제가 지속됩니다. –

+0

여러 개의 확인란을 선택하면 모든 페이지가 열리지 않습니다 –

+0

나를 위해 작동합니다. – Barmar