Stránka: 1 z 1
| [ Príspevkov: 20 ] | |
| Autor | Správa |
|---|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 | 144 Bydlisko: Žilina |
Caute,
mam akysi "bordel" v uvodzovkach. v PHP volam JavaScriptovu funkciu, ktorej mam predat parameter - text.
Priklad:
Kód: <?php echo "<a href='#' onmouseover='nazov_funkcie("nejaky text");'>NIECO</a>"; ?>
uz som tam skusal kombinovat uvodzovky fakt rozne, no nikdy mi to nefunguje.
DIK za kazdu radu.
_________________ Mac Book Pro 15.4", CPU: Intel Core 2 Duo 2.8 GHz, RAM: 4GB DDR3, HDD: 500 GB, VGA: 512MB GDDR3, OS: Mac OS X Lion; Mobil: HTC ONE S |
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14571 Témy: 66 | 66 Bydlisko: Žilina |
mno jedným zo spôsobov máš napr :
Kód: echo '<a href="javascript:funkcia(\'parameter_funkcie\')">Nieco</a>';
..čiže použitie backslashov
_________________ C#, PHP, ... |
|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 | 144 Bydlisko: Žilina |
//edit
pomohlo, no len ked predavam text, napr.: AHOJ. Ked vsak chcem predat JavaScriptu <img> ktory ma parameter src, kde sa musia tiez pouzit uvodzovky... co s tym potom???
DIK.
_________________ Mac Book Pro 15.4", CPU: Intel Core 2 Duo 2.8 GHz, RAM: 4GB DDR3, HDD: 500 GB, VGA: 512MB GDDR3, OS: Mac OS X Lion; Mobil: HTC ONE S |
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5403 Témy: 30 | 30 Bydlisko: Bratislava |
To isté, jednoducho "escapuješ" úvodzovky.
Pár príkladov na pochopenie:
Kód: echo "<img src='obrazok.jpg'>"; Kód: echo "<img src=\"obrazok.jpg\">"; Kód: echo '<img src=\'obrazok.jpg\'>'; Kód: echo '<img src="obrazok.jpg">'; 1 pár zmiešaných: Kód: echo "<img src=\"obrazok.jpg\" alt='text'>"; Kód: echo '<img src=\'obrazok.jpg\' alt="text">';
Tam máš všetky výskyty uvodzoviek vysvetlené, jednoduchšie ti to už vysvetliť nemôžem.
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 | 144 Bydlisko: Žilina |
asi mi to tak na rano velmi nemysli, no skusal som to aj tak -> bez vysledku.
mohol by si mi to skusit ukazat, vysvetlit, na mojom konkretnom priklade?
ja to mam teraz takto:
Kód: <?php echo "<a href='#' onmouseover='nazov_funkcie(\"<img src=\'img/logo_1.jpg\'>NIECO</a>\");'>"; ?>
uvodzoviek do aleluja
DIK.
_________________ Mac Book Pro 15.4", CPU: Intel Core 2 Duo 2.8 GHz, RAM: 4GB DDR3, HDD: 500 GB, VGA: 512MB GDDR3, OS: Mac OS X Lion; Mobil: HTC ONE S |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
mas dost cudne tie tagy popreplietane... mozno aj preto ti to nejde...
ale pouzivaj (napr. pri echo) radsej jednoduche uvodzovky (') ako dvojite ("), tj. nie echo "nieco"; ale echo 'nieco'; - je to rychlejsie...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 | 144 Bydlisko: Žilina |
to mas pravdu. je to riadne spletene. ak sa mi to nepodari dnes vyriesit, ani to nepouzijem...
k tym uvodzovkam: je mi jasne, ze si to netrepol len-tak do vetra, ale fakt to ovplyvni rychlost spracovania skriptu?
_________________ Mac Book Pro 15.4", CPU: Intel Core 2 Duo 2.8 GHz, RAM: 4GB DDR3, HDD: 500 GB, VGA: 512MB GDDR3, OS: Mac OS X Lion; Mobil: HTC ONE S |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
nemysli si, ze tam je nejaky velky rozdiel, ale nejaky tam urcite je, aj ked pre niekoho mozno zanedbatelny...
staci hadam uviest priklad:
Kód: <?php $var = 'text'; echo '$var'; //vypise sa $var echo "$var"; //vypise sa text ?>
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 07.03.06 Prihlásený: 23.01.11 Príspevky: 404 Témy: 2 | 2 Bydlisko: Prešov / Pr... |
Stenley: myslím, že rozdiel v rýchlosti výpisu echo s úvodzovkami, či apostrofmi je tak totálne zanedbateľný, že nemá cenu ním zaťažovať užívateľov. Tak sa nakoniec dostaneme k tomu, nech nepoužívajú ani echo 'text1'.$var.'text2';, ale skôr echo 'text1',$var,'text2'; pretože je to rýchlejšie.
Z pohľadu bežného užívateľa, ktorý má chaos v používaní úvodzoviek je to úplne jedno a skôr musí pochopiť rozdiel výpisu, ako si správne už uviedol v poslednom príspevku, kde v úvodzovkách sa vypíše obsah premennej, zatiaľ čo v apostrofoch sa vypíše názov premennej.
//opraveny nick  (stenley)
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
echo bol ten najjednoduchsi priklad (existuju zlozitejsie) a celu tuto problematiku som uviedol len na margo toho, co vsetko moze ovplyvnit typ uvodzoviek...
nechcel som nikoho mylit ani nic podobne, len poukazat na fakty, s ktorymi sa skor ci neskor urcite stretne...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5403 Témy: 30 | 30 Bydlisko: Bratislava |
max-m
Ty máš v tom dosť veľký chaos. Neuraz sa, ale ak nechápeš kde robíš v tomto prípade chybu, ako chceš pochopiť zložitejšie veci?
Ty to zapisuješ takto:
Kód: <?php echo "<a href='#' onmouseover='nazov_funkcie(\"<img src=\'img/logo_1.jpg\'>NIECO</a>\");'>"; ?> Prečo escapuješ aj jednoduché úvodzovky/apostrofy? Však práve preto ti to nejde. Správne to má byť: Kód: <?php echo "<a href='#' onmouseover='nazov_funkcie(\"<img src='img/logo_1.jpg'>NIECO</a>\");'>"; ?>
Ale zbytočne pletieš dva druhy úvodzoviek do jedného kódu, ja používam vždy iba jedny.
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 | 144 Bydlisko: Žilina |
rozdiel vypisu mi je jasny (horsie je to s viac uvodzovkami  ).
ale spat k teme. prikladam komplet skripty aby ste si to mohli pozriet (ak sa najde cas) a skusit to poriesit.
O co ide? jedna sa o v podstate jednoduchy (ale za to efektny) tooltip pomocou javascriptu.
JavaScript:
Kód: var tooltip=function(){ var id = 'tt'; var top = 3; var left = 3; var maxw = 300; var speed = 10; var timer = 20; var endalpha = 95; var alpha = 0; var tt,t,c,b,h; var ie = document.all ? true : false; return{ show:function(v,w){ if(tt == null){ tt = document.createElement('div'); tt.setAttribute('id',id); t = document.createElement('div'); t.setAttribute('id',id + 'top'); c = document.createElement('div'); c.setAttribute('id',id + 'cont'); b = document.createElement('div'); b.setAttribute('id',id + 'bot'); tt.appendChild(t); tt.appendChild(c); tt.appendChild(b); document.body.appendChild(tt); tt.style.opacity = 0; tt.style.filter = 'alpha(opacity=0)'; document.onmousemove = this.pos; } tt.style.display = 'block'; c.innerHTML = v; tt.style.width = w ? w + 'px' : 'auto'; if(!w && ie){ t.style.display = 'none'; b.style.display = 'none'; tt.style.width = tt.offsetWidth; t.style.display = 'block'; b.style.display = 'block'; } if(tt.offsetWidth > maxw){tt.style.width = maxw + 'px'} h = parseInt(tt.offsetHeight) + top; clearInterval(tt.timer); tt.timer = setInterval(function(){tooltip.fade(1)},timer); }, pos:function(e){ var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY; var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX; tt.style.top = (u - h) + 'px'; tt.style.left = (l + left) + 'px'; }, fade:function(d){ var a = alpha; if((a != endalpha && d == 1) || (a != 0 && d == -1)){ var i = speed; if(endalpha - a < speed && d == 1){ i = endalpha - a; }else if(alpha < speed && d == -1){ i = a; } alpha = a + (i * d); tt.style.opacity = alpha * .01; tt.style.filter = 'alpha(opacity=' + alpha + ')'; }else{ clearInterval(tt.timer); if(d == -1){tt.style.display = 'none'} } }, hide:function(){ clearInterval(tt.timer); tt.timer = setInterval(function(){tooltip.fade(-1)},timer); } }; }(); CSS: Kód: * {margin:0; padding:0} #text {margin:50px auto; width:500px} .hotspot {color:#900; padding-bottom:1px; border-bottom:1px dotted #900; cursor:pointer}
#tt {position:absolute; display:block;} #tttop {display:block; height:5px; margin-left:5px; overflow:hidden} #ttcont {display:block; padding:2px 12px 3px 7px; margin-left:5px; background:#666; color:#FFF} #ttbot {display:block; height:5px; margin-left:5px; overflow:hidden} vycuc s PHP: Kód: echo '<a href="odkaz.php" onmouseover="tooltip.show(\'<strong>AHOJ</strong>\');" onmouseout="tooltip.hide();">Nejaky odkaz</a>';
Tomu JavaScriptu mozem ako parameter predavat HTML znacky (vratane <img>).
Problem je teda ako v znacke <img> spravne pouzit uvodzovky na parameter src...
Ak sa niekomu chce, tak sa na to kuknite, ako na to(?).
DIK.
//edit nevidim dovod na to aby som sa urazal. mas pravdu, mam v tom naozaj chaos. (skusal som to aj podla toho co, si napisal vyssie, no chaos je chaos 
_________________ Mac Book Pro 15.4", CPU: Intel Core 2 Duo 2.8 GHz, RAM: 4GB DDR3, HDD: 500 GB, VGA: 512MB GDDR3, OS: Mac OS X Lion; Mobil: HTC ONE S |
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14571 Témy: 66 | 66 Bydlisko: Žilina |
mylan, tak toto mi nedalo
zanedbateľný ? nemyslím... keď vieš, že je dačo rýchlejšie a dačo pomalšie, prečo používať zaryto stále to pomalšie ? lebo si si tak zvykol ? okrem toho, pri väčších projektoch to zanedbateľné ani zďaleka nie je, každé ms sa počíta
okrem toho, hovoríš o normálnych užívateľoch, ktorým to je jedno... také dačo neexistuje, buď je niekto normálny užívateľ a nerobí stránky, alebo je to programátor.. pokiaľ človek robí stránky a nie je to programátor, potom tak vyzerajú aj samotné stránky (čo by vysvetlovalo prečo vyzerá toľko stránok ako vyzerá)
max-m, v čom píšeš ten kód ?
_________________ C#, PHP, ... |
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
el mariachi, niektorí týpci majú zaužívané niektoré zvyky, že by kvôli tomu aj zmenili zdroják a prekompilovali celé php, len aby mohli používať nezmyselne uvodzovky a apostrofy.
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 | 144 Bydlisko: Žilina |
el mariachi>> na kodovanie vyuzivam Dreamweaver. ten JavaScript Tooltip je vsak FREE stiahnuty 
_________________ Mac Book Pro 15.4", CPU: Intel Core 2 Duo 2.8 GHz, RAM: 4GB DDR3, HDD: 500 GB, VGA: 512MB GDDR3, OS: Mac OS X Lion; Mobil: HTC ONE S |
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5403 Témy: 30 | 30 Bydlisko: Bratislava |
max-m - ale už ti to funguje, alebo nie? Teraz máš tie úvodzovky správne.
el mariachi - myslím, že mylanovi je to jasné a aj ja súhlasím s jeho tvrdením. Viem presne, z akého dôvodu je rýchlejšie ak použiješ ' namiesto ", ale keď vo všetkých skriptoch používam dvojité uvodzovky, nebudem to kvôli pár mikrosekundám (a to by muselo ísť o poriadne veľkú stránku) meniť. Ten rozdiel je naozaj zanedbateľný a dvojité úvodzovky majú (pre mňa) aj niekoľko výhod oproti jednoduchým.
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 | 144 Bydlisko: Žilina |
shaggy>> ten kod, co som sem dal funguje (je tam len obycajny text). no ked tam chcem dat namiesto AHOJ, napr.: <img src="img/test.jpg" border="0" />?
_________________ Mac Book Pro 15.4", CPU: Intel Core 2 Duo 2.8 GHz, RAM: 4GB DDR3, HDD: 500 GB, VGA: 512MB GDDR3, OS: Mac OS X Lion; Mobil: HTC ONE S |
|
Registrovaný: 26.11.06 Prihlásený: 09.10.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
No to je potom už vec JS 
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5403 Témy: 30 | 30 Bydlisko: Bratislava |
Kód: echo '<a href="odkaz.php" onmouseover="tooltip.show(\'<img src="img/test.jpg" border="0" />\');" onmouseout="tooltip.hide();">Nejaky odkaz</a>';
Nič zložité. Či to bude fungovať, alebo nie (myslím ten JavaScript), to ti nepoviem, ale v php je to dobre zapísané.
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 16.01.08 Prihlásený: 27.03.13 Príspevky: 641 Témy: 144 | 144 Bydlisko: Žilina |
shaggy>> som to skusil, no na stranke ma byt link "Nejaky odkaz". ked som tam vsak vlozil kod podla teba, nebol tam "Nejaky odkaz" ale
Citácia: ');" onmouseout="tooltip.hide();">Nejaky odkaz
pre lepsie pochopenie - to cele sa mi zobrazilo na stranke a je to zaroven link.
mozno sa mylim, ale mne to pripada ako keby to bolo zle zapisane v PHP (tie uvodzovky)... ale kedze mam ja osobne v tych uvodzovkach fakt bordel (aj ked som sa zas naucil aj nieco nove - backslash  ) je to len moj odhad.
_________________ Mac Book Pro 15.4", CPU: Intel Core 2 Duo 2.8 GHz, RAM: 4GB DDR3, HDD: 500 GB, VGA: 512MB GDDR3, OS: Mac OS X Lion; Mobil: HTC ONE S |
|
Stránka: 1 z 1
| [ Príspevkov: 20 ] | |
|