2014-05-20 2 views
0

나는 PHP로 만든 달력이 있습니다. 이 달력에는 날짜별로 load_id가 나열되어 있습니다. 각로드에 대해 더 많은 데이터를 표시하기 위해 팝업을 만들었습니다. 새 탭이 아닌 팝업으로 표시하고 싶습니다. 함수로 해보려고했지만 javascript를 모르므로 url에 load_id를 전달하는 방법을 알 수 없습니다. "this.href"를 함수의 URL로 바꾸면 매력처럼 작동합니다. 하지만 다시로드 ID를 변수로 전달하여 나에게 맞지 않는 방법을 알지 못합니다. 누군가 제가 실수를하여 변수를 전달한 부분을 지적 할 수 있다면 나는 많은 책임을지게 될 것입니다! '새 창에서 팝업 창이 새 탭으로 열립니다.

<script> 
    function popup(id){ 
     window.open('cal_popup.php?load_id=id', '_blank','left=100, top=100,width=500,height=500,toolbar=1,resizable=0'); 
    } 
</script> 

이 모든 짓을하지만 통과했다 :

echo "<span class='load_shipped'> 
<a onclick='popup(".$load_id.");'>".$load_id."</a><br> 
</span>\n"; 

자바 스크립트 :

echo "<span class='load_shipped'> 
<a href='cal_popup.php?load_id=".$load_id."' 
onclick='window.open(this.href, '_blank','left=100,top=100,width=500,height=500,toolbar=1,resizable=0');'> 
".$load_id." 
</a> 
<br> 
</span>\n"; 

내가 아무 소용뿐만 아니라이 시도 :

내가 지금 가지고있는 것입니다 id '대신에 실제 load_id를 사용합니다.

+0

' 'cal_popup.php? load_id ='+ id' –

+0

어떤 브라우저를 사용하고 있습니까? – SSS

+0

@ user790454 'cal_popup.php? load_id = + id'를 사용하면 팝업이 열리지 만 "+ id"가 전달됩니다. 'cal_popup.php? load_id ='+ id를 사용하면 클릭 할 때 아무 것도 발생하지 않습니다. –

답변

2

동일한 인용 부호를 사용하여 속성 onclick을 감싸고 window.open 호출의 매개 변수를 정의하기 때문에 문제가있는 것처럼 보입니다. 속성에 큰 따옴표를 사용해보십시오. 정상적으로 작동하는 링크를 방지하려면 onclick 끝에 return false;이 필요합니다. 당신이 'cal_popup.php?load_id=' + id 같은 문자열로 id 변수를 연결할 필요가 있음을 유의하시기 바랍니다 - 당신이 기능 popup이 마지막 예에서

echo "<span class='load_shipped'> 
    <a href='cal_popup.php?load_id=".$load_id."' 
    onclick=\"window.open(this.href, '_blank','left=100,top=100,width=500,height=500,toolbar=1,resizable=0');return false;\"> 
    ".$load_id." 
    </a> 
    <br> 
</span>\n"; 

.

+0

감사합니다. 바로 그게 문제였습니다. 나는 onclick 이벤트에서 이중 따옴표를 이스케이프해야했습니다! 그리고 실종 된자는 거짓으로 돌아갑니다. –

관련 문제