« 1 2 »
Autor Zpráva
Glumik
Profil *
Proc tohle nechce fungovat???

<script>
<? $jeZapnutyJavaScript = 'ano'; ?>
</script>

<noscript>
<? $jeZapnutyJavaScript = 'ne'; ?>
</noscript>

<?
if($jeZapnutyJavaScript == 'ano'){
echo "JavaScript je zapnutý.";
} elseif($jeZapnutyJavaScript == 'ne'){
echo "Zapnìte si prosím JavaScript, tato stránka jej vyžaduje.";
}
?>
Inpocasi
Profil
<script>
<? $jeZapnutyJavaScript = 'ano'; ?>
</script>

Tag <script> nijak neovlivňuje v tomto případě chod php. Takže to normálně proběhne a v první podmínce bude vždy true - vždy vypíše JavaScript je zapnutý.

Doufám že to tak je.
Glumik
Profil *
Inpocasi

Tohle jsem zkousel a nefungovalo to, pri zapnutem i vypnutem JS to porad vypisuje hlasku "Zapněte si prosím .....................".
roberta
Profil
tento kód bude mať po spustení v premennej $jeZapnutyJavaScript vždy hodnotu 'ne'
Glumik
Profil *
roberta

I v pripade zapnuteho JS? Nevis, jak tohle vyresit?
Davex
Profil
<script> a <noscript> se vyhodnocuje až u klienta, kdežto <? ?> na serveru. Čiliže to PHP je lepší vyhodit a chybovou hlášku dát rovnou do <noscript> .
Glumik
Profil *
Davex

To bude asi nejlepsi reseni, ale ja jsem chtel z promennou v <noscript> dale pracovat, napr. zobrazit u nejakeho prvku, ktery ovladam pres onchange tlacitko, kdyby nebyl JS zapnuty atd.
roberta
Profil
Glumik

<script>
//príkazy scriptu
</script>

<noscript>
Zapnite si prosím JavaScript, tato stránka jej vyžaduje.
</noscript>
Davex
Profil
Glumik
Přizpůsobovat kód stránky schopnostem klienta je z různých důvodů nešťastné řešení. Musí se potom počítat s různými kešovacími mechanismy atd.
Glumik
Profil *
roberta

Ano o tom vim z Skripty a styly , ale jak jsem jiz uvedl v predeslem prispevku, potreboval bych s tou promennou v <noscript> dale pracovat.
Glumik
Profil *
Davex

No tak nezbyde nic jineho nez to udelat klasickym textem. :o)
Hooonza
Profil *
A co takhle:

<style>
.nic {display: none;}
.ukaz {display: inline;}
</style>

<div class="ukaz" id="hlaska">Zapněte si prosím JavaScript, tato stránka jej vyžaduje.</div>

<script>
document.getElementById('hlaska').className="nic";
</script>

Při zapnutém javaskriptu se hláška změnou stylu skryje, při vypnutém je vidět...
Glumik
Profil *
Hooonza

No a jak to spojim s php, abych ziskal nejakou promennou z JS?
Hooonza
Profil *
Glumik

Upozorňuju, že ve svém příkladu (úplně první příspěvek nahoře v této diskusi) jsi žádnou proměnnou z JS nezískal. Javascript tam vůbec není použitý.
Takže: jakou proměnnou z JS potřebuješ?

Obecně PHP získává proměnné od uživatele prostřednictvím formuláře. Vymysli formulář, vyplň do něj proměnnou pomocí javascriptu a pak jej nech odeslat, máš tím proměnnou v PHP.
Pokud potřebuješ dostat proměnnou z PHP do JS, pak ji jednoduše do skriptu vytiskneš:

<script>
<?php echo 'a = "mojepromenna";'; ?>
if (a=="mojepromenna") alert ('JOJ!');
</script>
DJ Miky
Profil
To bude asi nejlepsi reseni, ale ja jsem chtel z promennou v <noscript> dale pracovat, napr. zobrazit u nejakeho prvku, ktery ovladam pres onchange tlacitko, kdyby nebyl JS zapnuty atd.

Zajímalo, jak bys chtěl pomocí JS pracovat s hodnotou proměnné vypsané, pokud je JS vypnutý.
Glumik
Profil *
Hooonza

Udelam to radeji tim prvnim zpusobem, ktery jsi tady popisoval, protoze ja neumim php-JS a JS-php, t.j. oboustranne. :o)
Hooonza
Profil *
Glumik Taky myslím, že plést tam ještě PHP, pokud k tomu nemáš speciální důvod a jde ti jen o to, aby si uživatel zapnul JS, je zbytečně složité:-)
Glumik
Profil *
DJ Miky

Dobre, mam formular ve kterem mam selecty ovladam pres onchange='this.form.submit()' za podminky, ze klient ma zapnuty JS. Pokud klient nema zapnuty JS, tak se onchange neoprovede a on bude nucet kliknout za submit.
Proste se me jedna o esteticky vzhled, zapnuty JS nezobrazovat submit, vypnuty JS zobrazovat submit a k tomu prece potrebuji promennou k podmince.

if(){
$zobrazitSubmit = NULL;
} else {
$zobrazitSubmit = "<input type='submit' .........>";

<form>

<? echo $zobrazitSubmit ?>
<form>

Pochopil jsi o co se me jedna? :o)
Glumik
Profil *
Hooonza

No specialni duvod bych mel, viz prispevek pro DJ Miky :o)
Hooonza
Profil *
Glumik

variace na -> viz výše:

<style>
.nic {display: none;}
.ukaz {display: inline;}
</style>

<input type=submit class="ukaz" id="cudlik">

<script>
document.getElementById('cudlik').className="nic";
</script>
Glumik
Profil *
Musim si dat pauzu, protoze od rana uz sedim u PC a tak to i vypada. :o)

Problem byl vyresen zasluhou scriptu od Hooonza staci mensi zmena a docilim toho, ceho jsem chtel docilit, t.j. nezobrazit submit pri zapnutem JS a zobrazit submit pri vypnutem JS. Ted je vsechno po esteticke strance v poradku, jsem konecne spokojen. Diky Hooonza za nakopnuti. :o)
Glumik
Profil *
Hooonza

Byl jsi rychlejsi, prave takova zmena byla nutna. Jeste jednou dekuji.
Davex
Profil
A co máš proti tomuto?
<noscript><input type="submit"></noscript>
Hooonza
Profil *
Davex
Třeba toto. Podle tagu <noscript> v IE nepoznáš, jestli je skript zapnutý nebo ne.
Davex
Profil
Mám pocit, zda se nejedná o zastaralou informaci. Když se JavaScript v IE6 vypne přes záložku "Zabezpečení / Zóna internet", tak se obsah <noscript> normálně zobrazuje.
Hooonza
Profil *
Davex Jenže - kdo se na to může spolehnout? A proč to dělat?
Davex
Profil
Nikomu to nevnucuji. Jenom to v tomto konkrétním případě vypadá elegantněji.
los
Profil *
Třeba toto. Podle tagu <noscript> v IE nepoznáš, jestli je skript zapnutý nebo ne.
Je takýto problém IE popísaný aj na nejakej dôveryhodnej stránke? Pretože takto je to len blud.
Hooonza
Profil *
Davex
Jasně, důležitá je i osobní zkušenost každého webisty:-) A asi nejdůležitější je hlavně to, jak to dopadne u návštěvníka:-)
Davex
Profil
los
Ten zmiňovaný problém s ignorováním <noscript> se pravděpodobně týká IE verze 4.01 (Client Side JavaScript - Don't use it). Ale v této verzi nebude fungovat ani ten skript s document.getElementById .
« 1 2 »
Toto téma je uzamčeno. Odpověď nelze zaslat.

0