2009-12-04 1 views
1

PHP는 테이블 정렬 기능이 포함 된 JavaScript 파일을 PHP 파일에서 참조하려고합니다. 모든 기능이 정상적으로 작동하지만 아래 코드를 내 PHP 보고서 페이지에 추가하면 내 탐색 페이지의 탭 형식과 관련된 문제가 발생합니다. 임의의 document.write을 PHP 코드 외부에 추가하면 동일한 문제가 발생합니다. 큰 문제는 아니지만 사용자에게는보기 싫은 문제입니다.PHP 페이지의 JavaScript 기능으로 인해 PHP 탭 형식에 문제가 발생했습니다.

내 PHP 탐색 페이지 형식을 방해하지 않는 JavaScript 소스 문서를 참조하는 더 좋은 방법이 있습니까? 내가 이해하지 못하는 간단한 수정이있는 것처럼 느껴진다.

<script language="JavaScript" src="include/sorttable.js"></script> 

또한 전화, 같은 문제를 만들기 위해 PHP 태그 내부에 PHP를 echo을 사용했다.

다음은 형식 문제가 발생하는 탭의 탐색 코드 일부입니다.

<?php 

////////////////////////////////////////////////////////////////////////////////////////////////// 
function start_page_printer_friendly(
     $section = "home", 
     $headContents = null, 
     $bodyAttributes = null 
) 
////////////////////////////////////////////////////////////////////////////////////////////////// 

{?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
<title><?php print $page_title; ?></title> 
<link href="/trellis_portal/include/portal.css" media="screen" 
    rel="Stylesheet" type="text/css" /> 
     <?php if (! is_null($headContents)) { print $headContents; } ?> 
    </head> 

<body onload="printpage();" <?php if (! is_null($bodyAttributes)) { print $bodyAttributes; } ?>> 
    <script language="JavaScript"> 
     <!-- 
     function printpage() { window.print(); } 
     --> 
    </script> 
<br /> 
<?php      
} 

////////////////////////////////////////////////////////////////////////////////////////////////// 
function start_page($section = "home", 
        $subsection = null, 
        $headContents = null, 
        $bodyAttributes = null 
        ) 
////////////////////////////////////////////////////////////////////////////////////////////////// 
{ 
    if (isset($_GET['printer'])) 
    { 
     start_page_printer_friendly(); 
     return; 
    } 
    $section = strtolower($section); 

?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
<title><?php print $page_title; ?></title> 

<?php if (! is_null($headContents)) { print $headContents; } ?> 
    </head> 

<body class=" yui-skin-sam" <?php if (! is_null($bodyAttributes)) { print $bodyAttributes; } ?>> 
<br /> 


<div id="header"> 
<ul> 
<!-- 
    <li><a class="<?php print tabSelector($section, 'executive'); ?>" 
     href="/trellis_portal/portal.php?section=executive&title=Executive">Executive</a></li> 
    <li><a 
     class="<?php print tabSelector($section, 'community'); ?>" 
     href="/trellis_portal/portal.php?section=community&title=Community">Community</a></li> 
--> 
    <li><a class="<?php print tabSelector($section, 'trellis'); ?>" 
     href="/trellis_portal/portal.php?section=trellis&title=Trellis">Trellis</a></li> 
<!-- 
+1

코드를 표시하면 더 쉬워 질 것입니다. – Gazler

+0

설명 "PHP 탐색 페이지 형식" –

+0

각 섹션에는 여러 보고서가있는 하위 섹션이 있습니다.이 보고서는 해당 형식에 대한 보고서 클래스 파일을 사용하며이 보고서 클래스는 JavaScript 소스 참조가있는 모든 사용자 기능을 포함합니다. – Stumps

답변

2

나는 아직도 당신이 기대하는 것을 얻지 못하지만 내가 볼 수있는 한가지를 얻습니다 : 모든 것이 바뀌어 있습니다. 따라서

?> 
<!DOCTYPE... 

은 DOCTYPE 전에 시작 부분에 추가 공백 (개행)을 도입합니다.

또한 스크립트의 끝 (->)은 JS 구문 오류를 생성합니다. 유효한 HTML이지만 JS에서 주석 처리되어야합니다 (// ->).

+0

게시물이 내게 ​​올바른 방향으로 밀렸습니다. 위치, 위치, 위치 – Stumps

2

정말 아직 상황을 이해하지 않지만, 당신은 당신의 페이지 PHP에 의해 생성 될 일이, 만 HTML/CSS/자바 스크립트 코드에 관련된 아무것도 PHP가 있음을 알고 있어야합니다. 따라서 HTML 코드를 살펴보고 문제가 무엇인지 확인해야합니다. 그런 다음 질문을 실제 HTML 코드로 업데이트 할 수 있습니다.

0

SCRIPT 태그 자체는 페이지 내의 요소 또는 레이아웃에 영향을 줄 수 없습니다.

다른 곳에서는 문제가있을 수 있습니다. 이것을 디버깅하려면 PHP를 무시하고 HTML 출력에 초점을 맞추고 닫지 않은 태그와 잘못된 마크 업 등을 찾으십시오.