Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP] Nowa linia + JS
Forum PHP.pl > Forum > Przedszkole
atyll
Witam

Mój pierwszy problem polega na tym, że nie mogę utworzyć nowej lini w zdaniu, które jest przechowywane w stringu. Tzn.

Kod
$opis_main_menu = 'Pierwsza linia\nDruga linia!';

Próbowałem wszystkiego co mi przychodziło do głowy, lecz nic.

Na stronie wyświetlam to używając:
Kod
<?php echo htmlentities($opis_main_menu) ?>


Drugi problem polega na tym, że mam menu, w których formularz kontaktowy używa JavaScript,ecz, w treści strony używam też JS do wyświetlania obrazka.
Problem jest w tym, że gdy mam ten obrazek na JavaScript, to nie chodzi to menu tak jak powinno tzn. nie ma tego efektu wyświetla poprostu pustą strone z informacją.
Zresztą sami sprawdzcie w menu i na Contact na http://beauty-4u.co.uk/index.php i dajcie Submit, a potem wejdźcie Hair Extension > Micro Ring > Read More, tam już nie działa jak należy.

W micro_ring.php mam tak:

Kod
<?PHP
  include('menu.html');


// w menu.html jest
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link rel="stylesheet" href="megamenu.css" type="text/css" media="screen" /><!-- Menu -->

<script type="text/javascript" src="form/jquery.js"></script>
<script type="text/javascript" src="form/jquery.form.js"></script>

// itd.
?>

<script src="js/prototype.js" type="text/javascript"></script>
    <script src="js/scriptaculous.js?load=effects" type="text/javascript"></script>
    <script src="js/lightbox.js" type="text/javascript"></script>

<center><a href="<?php echo htmlentities($img_micro_ring)?>" rel="lightbox"><img src="<?php echo htmlentities($img_micro_ring)?>" rel="lightbox" alt="Micro Ring" width="200" height="200"  border="5" /></a>


Proszę was bardzo o pomoc.
Pozdrawiam
CuteOne
1. Nie \n tylko <br /> lub jeżeli pobierasz dane np. z pliku to
  1. echo nl2br($text);

2. Masz Warning po Submicie ;P
3. Nie mam pojęcia o co ci chodzi z tym obrazkiem..
atyll
Dzięki stary!

No ten warning wyskakuje bo jeszcze nie skonfigurowałem SMTP, ale widzisz, że jest efekt, a na micro ring nie ma.

Mam nadzieje, że znajdzie się ktoś kto mi pomoże, może za dużo tych javascriptów zadeklarowanych i one ze sobą jakoś nie współpracują?
Pozdrawiam!
melkorm
Użyj lighbox pod jQuery i nie używaj prototype wraz z jQuery, albo użyj noConflict wink.gif
atyll
A mógłbyś mi powiedzieć jak mam nie używać prototype z Jquery, lub jak wlepić ten noConflict w kod?
Wlepiałem to w headzie:
Kod
<script>
    jQuery.noConflict();
    // Use jQuery via jQuery(...)
    jQuery(document).ready(function(){
        jQuery("div").hide();
    });
    // Use Prototype with $(...), etc.
    $('someid').hide();
  </script>


I nic

Pozdrawiam
nospor
Pokaz cały head
atyll
Kod
    <title>"Beauty for you"</title>
    <link rel="stylesheet" href="style.css" type="text/css" charset="utf-8" />
    <link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />    
    <script>
    jQuery.noConflict();
    // Use jQuery via jQuery(...)
    jQuery(document).ready(function(){
        jQuery("div").hide();
    });
    // Use Prototype with $(...), etc.
    $('someid').hide();
  </script>
</head>


Niżej jest jeszcze include menu.html:
Kod
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="megamenu.css" type="text/css" media="screen" /><!-- Menu -->
<script type="text/javascript" src="form/jquery.js"></script>
<script type="text/javascript" src="form/jquery.form.js"></script>
<title>Mega Menu Drop Down - Columns</title>
</head>


Jeszcze niżej jest:
Kod
    <script src="js/prototype.js" type="text/javascript"></script>
    <script src="js/scriptaculous.js?load=effects" type="text/javascript"></script>
    <script src="js/lightbox.js" type="text/javascript"></script>


<a href="<?php echo htmlentities($img_micro_ring)?>" rel="lightbox"><img src="<?php echo htmlentities($img_micro_ring)?>" rel="lightbox" alt="Micro Ring" width="200" height="200"  border="5" /></a><br><font color="white">Click to enlarge</font>


Najlepsze jest to, że gdy umieszcze te js/prototype.js i reszte w headzie, to juz nie działa ten skrypt..
Pozdrawiam


nospor
1) Masz jakąś sieczke w kodzie. Z tego co tu pokazałeś masz dwa razy blok HEAD :/
2) W dokumentacji jQuery wyraźnie napisali, że noConflict masz ustawić zaraz po załadowaniu liby jQuery, a ty tego nie robisz. noConflict masz w zupełnie innym miejscu niż ładowanie libu jQuery
atyll
Racja, sieczka jest. Zrobiłem tak, cały head z menu.html wrzuciłem na strone.

Teraz head w micro_ring.php wygląda tak:
Kod
<head>
    <title>"Beauty for you"</title>
    <link rel="stylesheet" href="style.css" type="text/css" charset="utf-8" />    
    <link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />

<link rel="stylesheet" href="megamenu.css" type="text/css" media="screen" /><!-- Menu -->

<script type="text/javascript" src="form/jquery.js"></script>

<script type="text/javascript" src="form/jquery.form.js"></script>
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js?load=effects" type="text/javascript"></script>
<script src="js/lightbox.js" type="text/javascript"></script>
</head>


W menu.html jest samo body. Teraz nawet działa lightbox, lecz nadal nie chodzi mi ten efekt w Contact na menu, a gdy dodam ten kod pomiędzy jquery.js a jquery.form.js:
Kod
<script>
    jQuery.noConflict();
    // Use jQuery via jQuery(...)
    jQuery(document).ready(function(){
        jQuery("div").hide();
    });
    // Use Prototype with $(...), etc.
    $('someid').hide();
  </script>

To wyświetla się tylko tło i footer..
nospor
Ale po grzyba wkładasz jeszcze to:
Kod
// Use jQuery via jQuery(...)
    jQuery(document).ready(function(){
        jQuery("div").hide();
    });
    // Use Prototype with $(...), etc.
    $('someid').hide();

No nie kopiuj bezmyślnie z manuala.... przecież oni to już tylko podali jako przykład.... I ty ten przykład skopiowałeś i chowasz na stronie wszystkie DIV :/
atyll
Fakt, pocztąkujacy jestem, poprostu wkleiłem i tyle. A więc jak mam użyć tego noConflict i gdzie?

Przepraszam bardzo za moją głupotę i proszę o wyrozumiałość
Pozdrawiam serdecznie smile.gif
strife
Przecież Ci już nospor napisał ...
Cytat(atyll @ 7.02.2012, 16:58:31 ) *
Fakt, pocztąkujacy jestem, poprostu wkleiłem i tyle. A więc jak mam użyć tego noConflict i gdzie?

Przepraszam bardzo za moją głupotę i proszę o wyrozumiałość
Pozdrawiam serdecznie smile.gif


Cytat(nospor @ 7.02.2012, 14:36:04 ) *
1) Masz jakąś sieczke w kodzie. Z tego co tu pokazałeś masz dwa razy blok HEAD :/
2) W dokumentacji jQuery wyraźnie napisali, że noConflict masz ustawić zaraz po załadowaniu liby jQuery, a ty tego nie robisz. noConflict masz w zupełnie innym miejscu niż ładowanie libu jQuery


Punkt drugi. Przykłady w dokumentacji jak to działa: http://api.jquery.com/jQuery.noConflict/

Pamiętaj, że jeżeli masz z czymś problem to korzystaj z firebug'a do diagnostyki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.