وظيفة JavaScript في صفحة PHP تسبب مشكلات بتنسيق علامات التبويب PHP

StackOverflow https://stackoverflow.com/questions/1847566

سؤال

أحاول الرجوع إلى ملف JavaScript، يحتوي على وظيفة فرز الجدول، في ملف PHP. يعمل كل شيء بالطريقة التي ينبغي بها، ولكن بمجرد إضافة الرمز أدناه إلى صفحة تقرير PHP الخاص بي، فإنه يسبب مشكلات بتنسيق علامات التبويب في صفحة التنقل الخاصة بي. نفس المشكلة تأتي إذا أضفت عشوائيا document.write خارج رمز PHP. ليست قضية هائلة ولكن القبيحة إلى جانب المستخدم.

هل هناك طريقة أفضل للإشارة إلى DOC المصدر JavaScript لن تتداخل بتنسيق صفحة التنقل PHP الخاص بي؟ أشعر أنني هناك إصلاح بسيط لا أهتم.

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

تستخدم أيضا php echo داخل علامات PHP لجعل المكالمة، نفس المشكلة.

فيما يلي جزء من رمز التنقل لعلامات التبويب أن مشكلة التنسيق قد تخرج.

<?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>
<!-- 
هل كانت مفيدة؟

المحلول

ما زلت لا أحصل على ما تتوقعه ولكن شيء واحد أستطيع أن أرى بالفعل: كل شيء خارج غير مرجل حرفيا، وبالتالي

?>
<!DOCTYPE...

سيقدم مساحة بيضاء إضافية (NEWLINE) في البداية قبل DocType.

أيضا نهاية البرنامج النصي (->) سيؤدي إلى إنشاء خطأ في بناء الجملة JS. انها صالحة HTML ولكن يجب تعليقها (// ->) في JS.

نصائح أخرى

لا أفهم حقا الوضع بعد، لكن عليك أن تدرك أنه لا يوجد شيء يرتبط PHP على صفحتك، فقط HTML / CSS / JavaScript Code الذي حدث يتم إنشاؤه بواسطة PHP. وبعد لذلك تحتاج إلى النظر في رمز HTML الخاص بك ومعرفة ما هي المشكلة هناك. قد ترغب بعد ذلك في تحديث سؤالك مع رمز HTML الفعلي.

النصي العلامات، في حد ذاتها، لا يمكن أن تؤثر على العناصر أو التصميم داخل الصفحة.

مشكلتك في أماكن أخرى. لتصحيح هذا، أود أن أتجاهل PHP والتركيز على إخراج HTML وابحث عن علامات غير مكلفة وعلامة غير صالحة إلخ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top