« 1 2 »
Autor Zpráva
vydrus
Profil
Mám na stránce skript, který v hledacím poli zobrazuje text "hledaný výraz...". Když se do pole klikne, tak to zmizí, když se do něj nic nepřidá a klikne se jinam na stránku, tak se tam zas objeví. Ale když se vypne JS, tak je tam ten text, a to mě štve. Potřeboval bych to nějak upravit, aby, když JS není zapnutý, aby se tam nezobrazovalo nic. Už jsem to někde viděl, ale nemůžu si vzpomenout, kde.



Kdopak mi pomůže? :)
vertigo4
Profil
vydrus
a proč to nevypíšeš javascriptem?
yFang
Profil
vydrus
Pokud máš to hledání od Google vlastní vyhledávání http://www.google.com/coop/cse/, tak tam je takový vzhled. Vypadá to podobně tomu tvému, ale text se vypisuje jen se zapnutým JS.
Měsíček
Profil
Jednoduše to nedávej do atributu value="" a vypiš to pomocí Javascriptu - no a pokud se JS vypne tak to bude prázdné, protože se v tom případě o vše bude starat JS, teď tam máš takový mix.
vydrus
Profil
Myslíš to celý pole? můžu to zkusit, ale je to děsně neohrabaný.... i s <noscript>em
Měsíček
Profil
Myslím jen ten jeden <input> a neohrabané to není .. vždyť atribut value="" není u <input>u povinný.
vydrus
Profil
Jo, máte recht... že mě to nenapadlo dřív.... :))

A mam tu ještě jeden problém, ten se týká stránky Napište mi. Validátor hlásí chybu, prý, že atribut value je prázdný. To však není pravda, je tam totiž tento kód:

<textarea name=\"zprava\" rows=\"8\" cols=\"35\" value=\"$zprava\" class=\"txtarea\">$zprava</textarea>


Samozřejmě, že validátor phpčko nevidí a proto to označuje za nevalidní. všechny stránky kromě téhle mám validní, a to mě pěkně se*e! Nevíte někdo, jak to tam udělat, aby to validátor nebarvil červenou? Řekl bych, že to zas bude ten vykutálenej JauvaScript, ale fakt nevím, jak na to...
Měsíček
Profil
Textarea nemá pokud vím atribut value.
vertigo4
Profil
vydrus
tag <textarea> nemá atribut value=""
vydrus
Profil
aha.... jsem to ale lama.... takový kraviny si nevšimnout..... asi to bude tím, že ty atributy jsem kopíroval (mam tam inputy na jméno atd) a zapomněl jsem to smazat.... to by se člověk hned taky červenal :-D ale díky moc
Měsíček
Profil
njn .., jen je mi divné, že ti to validátor přímo nenapsal :o)?
vydrus
Profil
hm.... to je fakt divný.... a mimochodem - českej validátor je dneska nedostupnej, nevim proč, ale má to vymakanější než ten oficiální.... třeba varování a tak... možná by to i odhalil
Měsíček
Profil
Nejspíše ano .. možná Chamurappi chystá novou aktualizaci .. mimochodem nepsal, že by v květnu měla být první oficiální beta verze jeho CSS validátoru?
vydrus
Profil
to nevím.... takový věci nesleduju :) jediný, co mě s nim pojí, je doplněk pro FF - Ověření validity - tak jsem na to přišel, že je to nedostupný.
vydrus
Profil
Ještě bych se vrátil k tomu inputu... teď se mi v poli nezobrazuje nic, ale když na to kliknu, tak se ten text tam teprve objeví a pak se to chová normálně. CO s tím?


<input class="txtarea-hledani" type="text" name="q" size="15" onblur="if(this.value=='') this.value='hledaný výraz...';" onfocus="if(this.value=='hledaný výraz...') this.value='';">
Měsíček
Profil
Začít se sám učit Javascript .. když ti nasolíme hned řešení nic se nenaučíš ;)
vydrus
Profil
hahá, moc vtipný :-P ty to snad umíš? já se chci učit něco praktičtějšího
vertigo4
Profil
vydrus
hahá, moc vtipný :-P ty to snad umíš?
řekl bych, že jo...
vydrus
Profil
řekl bych, že jo...

tak nekecej a "nasol" to

tohle jsi mi poradil sám, Měsíčku:
Jednoduše to nedávej do atributu value="" .......
Měsíček
Profil
"Jednoduše to nedávej do atributu value="" ......."

Protože jsi chtěl, aby se to nezobrazovalo pokud máš vypnutý Javascript ;) .. napadá tě snad ještě jiné řešení? Mě ano VBScript :) .. "nasolím" ti to řešení, ale jedině pokud uvidím snahu, ok?
vydrus
Profil
Jasně, ale chtěl jsem, aby to taky fungovalo normálně i se zaplym, to dá rozum :)
A VBS je pokud vím jen na IE, na takový prkotiny jako otevření cdromky na coca-colu, to já nechci.

Jak jsem říkal, viděl jsem, jak přesně tohle někde fungovalo bez všech potíží, i s vyplym JS (nezobrazilo se to). Pokud vím, byl použit nějakej JS tag v <body>.
Měsíček
Profil
"Jasně, ale chtěl jsem, aby to taky fungovalo normálně i se zaplym, to dá rozum :)"

Jo, teď už to rozum dává :)

"A VBS je pokud vím jen na IE, na takový prkotiny jako otevření cdromky na coca-colu, to já nechci. "

To je mi jasný, jen jsem ti chtěl ukázat, že řešení je spousta ;)

"Jak jsem říkal, viděl jsem, jak přesně tohle někde fungovalo bez všech potíží, i s vyplym JS (nezobrazilo se to). "

Ano pokud začneš uvažovat zvládneš to pomocí svých znalostí naprosto v pohodě také (případně ti s tím pomůžeme).

"Pokud vím, byl použit nějakej JS tag v <body>."

Omyl tagy do tagu dávat nelze ;) možná byla využita funkce, která se volá pomocí atributu a také události onLoad="" takže mohlo to být třeba takhle:

<body onLoad="funkce();">
vydrus
Profil
Omyl tagy do tagu dávat nelze
Jo, máš recht, měl jsem asi použít slovo atribut, aby se předešlo takovýmto problémům :)
vydrus
Profil
Pokud si dobře pamatuju, tak ten kód s body byl nějak takhle:
<body něco="hledani.něco.něco;">

A ten kód s inputem byl upravenej přesně pro použití s tím body - to tam dělalo to prázdný, když byl vyplej JS. Zahrnovalo to také stribut value.
Chamurappi
Profil
Reaguji na vydruse:
a mimochodem - českej validátor je dneska nedostupnej, nevim proč
DNS záznam udělal pápá. Náprava se projeví během dneška.

ale má to vymakanější než ten oficiální.... třeba varování a tak...
Díky.

A VBS je pokud vím jen na IE, na takový prkotiny jako otevření cdromky
Ve skutečnosti jsou možnosti JS a VBS téměř totožné. Za otevírání CD mechaniky není odpovědný skriptovací jazyk, ale jedna metoda jednoho ActiveX objektu (WMP), která nebyla svým tvůrcem považována za nebezpečnou.

tak nekecej a "nasol" to
Do svého externího „js.js“ přidej:
function initQ(q)
{
  var defaultQ = "hledaný výraz...";
  q.value = defaultQ;
  q.onfocus = function()
  {
    if(this.value == defaultQ) this.value = "";
  };
  q.onblur = function()
  {
    if(!this.value) this.value = defaultQ;
  };
}
A hned za element <input name="q"> dej:
<script>
  initQ(document.getElementById("cse-search-box").q);
</script>
Žádná další úprava HTML by neměla být nutná, onload nepotřebuješ.


Reaguji na Měsíčka:
možná Chamurappi chystá novou aktualizaci
Kvůli aktualizacím web nikdy nevypínám. Alespoň ne záměrně.

mimochodem nepsal, že by v květnu měla být první oficiální beta verze jeho CSS validátoru?
Psal jsem o dubnu, ale bude to spíš červen, možná červenec.

aby se to nezobrazovalo pokud máš vypnutý Javascript ;) .. napadá tě snad ještě jiné řešení? Mě ano VBScript :)
Ty víš, jak v Exploreru vypnout JS, aniž by se vypnul i VBS? Myslím, že to z pohledu uživatele není možné.

jen jsem ti chtěl ukázat, že řešení je spousta ;)
pokud začneš uvažovat zvládneš to pomocí svých znalostí naprosto v pohodě také
Tolik zbytečných řečí kvůli tak triviálnímu skriptu.
Měsíček
Profil
Reaguji na Chamurappiho:

"Kvůli aktualizacím web nikdy nevypínám. Alespoň ne záměrně. "

Dobré vědět, .. takže to byl jen výpadek serveru?

"Psal jsem o dubnu, ale bude to spíš červen, možná červenec. "

Copak se děje? Už chátrá i webylon, ..

"Ty víš, jak v Exploreru vypnout JS, aniž by se vypnul i VBS? Myslím, že to z pohledu uživatele není možné. "

Ta věta neměla takový význam .. váže se to na to, že to šlo udělat jiným způsbem.

"Tolik zbytečných řečí kvůli tak triviálnímu skriptu."

Zas tak triviální skript to není, ale vím, že mu to pomůže jen pro tento okamžik, ale další problém si nevyřeší sám, raději bych si dal čas na to, abych mu dal základy proto, aby byl samostatný než 5 minut na napsání skriptu, ale děkuji, že jsi ten skript napsal.
vydrus
Profil
Žádná další úprava HTML by neměla být nutná, onload nepotřebuješ.


Bohužel, teď to tam mám a nepracuje to, ano se ve value nic nezobrazí. Nemám náhodou špatně ten js.js?


var p = new Array ("img/system/sipka.gif", "img/system/pozadi.gif")
var o = new Array (p.length)
for (var i=0 ; i<p.length ; i++){
o[i] = new Image ()
o[i].src = p[i]
}

function initQ(q)
{
  var defaultQ = "hledaný výraz...";
  q.value = defaultValue;
  q.onfocus = function()
  {
    if(this.value == defaultQ) this.value = "";
  };
  q.onblur = function()
  {
    if(!this.value) this.value = defaultQ;
  };
}
Chamurappi
Profil
Reaguji na vydruse:
Pardon, udělal jsem ve svém příspěvku chybu.
  q.value = defaultQ;
— nikoliv defaultValue.


Reaguji na Měsíčka:
Už chátrá i webylon,
Ano, na Webylonu zatím vládne zimní spánek. Ale to se v létě změní! Zavládne letní spánek…

raději bych si dal čas na to, abych mu dal základy
Tak mu raději dávej základy místo poučování o tom, že by bylo dobré znát základy. To tvé mudrování — jakkoliv je pravdivé — má nízkou informační hodnotu.
vydrus
Profil
Díky moc, už to funguje. Tenhle skript by se měl zaznamenat ještě do nějaké skript-knihovny, třeba na jaknaweb.com.... Ale to nechám na tobě. Ještě jednou děkuju! :))
Dranel
Profil
Chamurappi
Mě to hází následující chybu:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in D:\Web\Websites\dranel.cz\index.php on line 43


(...)

echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">
<html>
<head>
<meta http-equiv='Content-Language' content='cs'>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<title>$headtitle"; if ((!$_GET['str']) or ($_GET['str']=="uvodni-stranka"))echo ""; else echo " | "; echo "Dranel.cz - fantasy portál, RPG Dračí doupě (DrD) online</title>
<meta http-equiv='Cache-Control' content='no-cache'>
<meta http-equiv='Pragma' content='no-cache'>
<meta http-equiv='Expires' content='0'>
<meta http-equiv='content-style-type' content='text/css'>
<meta http-equiv='content-script-type' content='text/javascript'>
<meta name='description' content='Dranel.cz - Fantasy rozcestník | Dračí doupě online | ".$headdescription."'>
<meta name='keywords' content='".$headkeywords."'>
<link rel='stylesheet' type='text/css' href='index.css'>

<script>
function initQ(q) {
  var defaultQ = \"hledaný výraz...\";
  q.value = defaultQ;
  q.onfocus = function() {
    if(this.value == defaultQ) this.value = "";
  };
  q.onblur = function() {
    if(!this.value) this.value = defaultQ;
  };
}
</script>
</head>

<body>
<div id='site'>

<div id='header'>
</div>

<div id='wrapper'>
  <div id='article'>
  <div id='section'>";

(...)


Nevíš, kde je problém? Já totiž ani nevím, co ta chyba přesně znamená... :(
« 1 2 »

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: