Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Javascript

peg [15.01.2009 12:56:18]

#

En osaa sitten lainkaan js.
Alla tehty php:lla, miten javascriptillä, jossa yksi input kenttä
johon kirjoitetaan hakusana, enterillä linkit ottavat nuo osoitteet
jonka jälkeen klikkaamalla voi tehdä haun joko google, wikipedia tai
putkaan. Käsittääkseni js:llä tuon haun saisi linkkeihin jo kirjoitus
vaiheessa? Neuvokaapa ja anteeksi heikko selitys.

	<?php $haku = $_GET['haku']; ?>
	<form method="GET" action="">
	<input type="text" id="haku" name="haku" value="<? echo $haku; ?>" style='margin-left: 2px; width: 180; '>
	</form>
	<hr>
	<table>
	<a href="http://fi.wikipedia.org/wiki/w/?title=Special%3ASearch&search=<? echo $haku; ?>&search.x=14&search.y=6"><Img src="../linkit/wiki.png" style='margin-bottom: -2px'; border="0" alt=" "></a>
	<br><br>
	<a href="http://www.google.com/custom?q=<? echo $haku; ?>"><Img src="http://www.google.fi/intl/fi/logos/Logo_25wht.gif" style='margin-bottom: -2px'; border="0" alt=" "></a>
	<br><br>
	<a href="https://www.ohjelmointiputka.net/haku.php?sana=<? echo $haku; ?>"><Img src="https://www.ohjelmointiputka.net/favicon.ico" style='margin-bottom: -2px'; border="0" alt=" "></a>

</table>

Short Php [15.01.2009 15:01:51]

#

<script>
function editlinks(text) {
document.getElementById("googlelink").href = 'http://www.google.com/custom?q=' + text;
document.getElementById("wikilink").href = 'http://fi.wikipedia.org/wiki/w/?title=Special%3ASearch&search=' + text + '&search.x=14&search.y=6';
document.getElementById("oplink").href = 'https://www.ohjelmointiputka.net/haku.php?sana=' + text;
}
</script>
<?php $haku = $_GET['haku']; ?>
    <form method="GET" action="">
    <input type="text" id="haku" name="haku" value="<? echo $haku; ?>" style='margin-left: 2px; width: 180; ' onKeyDown="editlinks(this.value);">
    </form>
    <hr>
    <table>
    <a id="wikilink" href="http://fi.wikipedia.org/wiki/w/?title=Special%3ASearch&search=<? echo $haku; ?>&search.x=14&search.y=6"><Img src="../linkit/wiki.png" style='margin-bottom: -2px'; border="0" alt=" "></a>
    <br><br>
    <a id="googlelink" href="http://www.google.com/custom?q=<? echo $haku; ?>"><Img src="http://www.google.fi/intl/fi/logos/Logo_25wht.gif" style='margin-bottom: -2px'; border="0" alt=" "></a>
    <br><br>
    <a id="oplink" href="https://www.ohjelmointiputka.net/haku.php?sana=<? echo $haku; ?>"><Img src="https://www.ohjelmointiputka.net/favicon.ico" style='margin-bottom: -2px'; border="0" alt=" "></a>

</table>

Metabolix [15.01.2009 15:15:30]

#

Haetkohan jotain tällaista:

<script type="text/javascript">
/* <![CDATA[ */
var osoitteet = {
  "google": "http://www.google.fi/search?q=",
  "altavista": "http://www.altavista.com/web/results?q="
};
function linkit(hakusana) {
  for (var id in osoitteet) {
    document.getElementById(id).href = osoitteet[id] + encodeURIComponent(hakusana);
  }
}
/* ]]> */
</script>

<input type="text"
  onchange="linkit(this.value);"
  onkeyup="linkit(this.value);"
/>
<p>
 <a id="google" href="http://www.google.fi/">Google</a>,
 <a id="altavista" href="http://www.altavista.com/">Altavista</a>,
 ...
</p>

Short Php:n antama koodi taitaa hajota mm. erikoismerkkeihin ja pasteamiseen ja jättää lisäksi viimeisen merkin huomiotta, koska se ei keydown-tapahtumassa vielä sisälly laatikon tekstiin.

peg [15.01.2009 15:50:39]

#

Metabolix luit ajatukseni, kiitos. Ensimmäinen kerta kun JS:stä saattaa
olla jotain hyötyä.

Short Php [15.01.2009 16:18:41]

#

Omg mun scripti taas crushattiin jollain paremmalla -_-
Gf

peg [15.01.2009 20:24:23]

#

Short Php, muutin sun koodissa onKeyDown --> onKeyUp.
Se pelaa myös hyvin.
Tiedä vaikka ottaisin käyttöön jommankumman.
Onko kellään mitään ideoita mitä sitten kun joillakin ei
ole js päällä. <noscript> laita js päälle </noscript>
ei varmaan hyvä.

temu92 [15.01.2009 23:52:14]

#

Se noscript on ainut keino vissiin saada annettua ilmoitus javascriptin pois päällä olemisesta, joten miksikäs se ei olisi hyvä?

Toisaalta vielä kuitenkin olisi semmoinen keino että peruskoodissa on kirjoitettuna ilmoitus siitä ettei js ole päällä ja sitten javascriptillä ottaa sen elementin pois kun sivu ladataan se päällä jottei ilmoitus näkyisi.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta