JavaScript-Funktion in PHP-Seite verursacht Probleme mit PHP Registerkarten Format
-
13-09-2019 - |
Frage
Ich versuche, eine JavaScript-Datei zu verweisen, eine Tabelle Sortierfunktion, in einer PHP-Datei enthält.
Alles funktioniert, wie es soll, aber wenn ich den Code unten, um meine PHP-Bericht Seite hinzufügen es verursacht Probleme mit dem Format der Registerkarten auf meiner Navigationsseite. Das gleiche Problem kommt, wenn ich eine zufällige document.write
außerhalb des PHP-Code hinzufügen. Kein großes Problem, aber eher unansehnlich an den Benutzer.
Gibt es einen besseren Weg, um die JavaScript-Quelle doc zu verweisen, die mit meinem PHP-Navigation Seitenformat werden nicht interferieren? Ich fühle mich wie es eine einfache Lösung ist, dass ich nicht begreifen.
<script language="JavaScript" src="include/sorttable.js"></script>
Auch verwendet eine der PHP echo
innerhalb der PHP-Tags den Anruf, gleiche Thema zu machen.
Dies ist Teil des Navigationscode für die Registerkarten, dass das Format Ausgabe oben auf kommt.
<?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>
<!--
Lösung
ich immer noch nicht, was Sie erwarten, aber eine Sache kann ich sehe schon: alles außerhalb buchstäblich umgesetzt, so
?>
<!DOCTYPE...
wird eine zusätzliche Leerzeichen (Newline) zu Beginn vor DOCTYPE einzuführen.
Auch das Ende des Skripts (->) wird JS Syntaxfehler erzeugen. Es ist gültig HTML, sondern muss kommentiert werden. (// ->) in JS
Andere Tipps
Das verstehe ich nicht wirklich die Situation noch nicht, aber Sie müssen sich bewusst sein, dass es nichts PHP auf Ihrer Seite verbunden ist, nur HTML / CSS / Javascript-Code, der von PHP erzeugt passiert werden . So müssen Sie in Ihren HTML-Code schauen und sehen, was das Problem ist. Anschließend können Sie möchten, dass Ihre Frage mit dem tatsächlichen HTML-Code aktualisieren.
SCRIPT -Tags, in sich selbst, kann nicht Elemente oder Layout innerhalb der Seite beeinflussen.
Ihr Problem ist anderswo wahrscheinlich. Zum Debuggen dies würde ich die PHP ignorieren und sich auf die HTML-Ausgabe und sucht nicht geschlossene Tags und ungültige Markup etc.