ugrás a tartalomhoz

Adott pontra ugrás egy oldalon belül

Kristoff · 2014. Ápr. 8. (K), 22.33
Sziasztok!
Nem linkkel, hanem az oldal betöltésével egy időben szeretnék adott pontra navigálni. Azt szeretném megoldani, hogy van egy adatbázisom (mysql) amit lekérdezek. Egy keresőmezőbe rá lehet keresni a táblázat bizonyos sorára. És miután rákeresünk azt kéne, hogy a találat legyen az oldal tetején, tehát oda pozícionáljon.
Addig már eljutottam, hogy a táblázatot keresés után újra kilistázza és a keresett sort megjelöli más színnel. De oda is kéne hogy ugorjon.
Köszi előre is a segítséget!
 
1

window.scrollTo vagy ilyesmi.

inf · 2014. Ápr. 9. (Sze), 02.49
window.scrollTo vagy ilyesmi.

nope, element.scrollIntoView
2

#?

szabo.b.gabor · 2014. Ápr. 9. (Sze), 08.23
az miért nem megoldás, hogy a keresett elemet egy id-vel jelölöd

<div class="keresett-elem" id="keresett-elem-12232"></div>

és az url végére meg teszel egy hashtag-et

http://oldalad.hu/talalati-lista/?param1=23&param2=342#keresett-elem-12232
3

Azt is lehet, szituáció

inf · 2014. Ápr. 9. (Sze), 13.57
Azt is lehet, szituáció függő...
4

Ennyire egyszerű?

Kristoff · 2014. Ápr. 9. (Sze), 21.08
Köszönöm a segítségeket! A második megoldásnál maradtam, jobban belegondolva teljesen egyértelmű, persze már csak így utólag. Nagyon sokat segítettél!
Az elsővel azért nem boldogultam, mert a gomb lenyomásakor nem tudom hogy átadni a paramétert, mert az az élő keresés miatt a rekord második mezője. Végül is így csináltam:
if (isset($_POST['keres'])){
	while ($egy_sor = mysql_fetch_row($nevek)){
		if ($_POST['keres'] == $egy_sor[1]){
			$keresett = $egy_sor[0];
header("location: http://localhost/php/lista.php?id=".$keresett."#".$keresett."");
		}
	}	
}
5

Újraküldöd

Pepita · 2014. Ápr. 10. (Cs), 07.27
Így viszont újra elküldöd az egész oldalt.
Javaslat: csináld meg JS-el is (a már kiírt táblázat elemeit variálva), ami letiltja a _POST-ot. Ekkor, ha be van kapcsolva a JS, tisztán kliensoldalon megoldottad.
6

nem POST, hanem GET

szabo.b.gabor · 2014. Ápr. 10. (Cs), 10.05
bár nem teljesen látom, hogy csinálod, mert van redirect is de

annyit még hozzáfűznék, hogy keresési paramétereket nem POST-tal küldünk el, hanem GET-tel.

keresel valamit, el akarod küldeni havernak fészbúkon. egy GET-es url-t át tudsz dobni, POST-ost nem. gúgli is tudja listázni, ilyenek..

POST-ot akkor használunk, ha adatot módosítunk és utána redirect valami GET-es url-re, hogy frissítéskor ne tároljuk el még egyszer az adatokat
7

Nem csak ez a gond, hanem úgy

inf · 2014. Ápr. 10. (Cs), 14.15
Nem csak ez a gond, hanem úgy látom lerántja a teljes listát, és php-val kerestet sql helyett...
8

Pont a redirect

Pepita · 2014. Ápr. 11. (P), 14.20
Pont a redirect ... lista.php miatt ott a GET-szerű kérés, tehát havernak tudja küldeni a linket.

Az eredeti kérdésben pedig az szerepel, hogy a teljes táblát kiírja HTML-be, csak a keresett elem sorára akar navigálni. Tehát gugli is indexeli a táblázatát, csak mondjuk neki nem ugrik adott sorra.

Én (, ha tényleg az a feladat, hogy a teljes tábla kint legyen) előbb oldanám meg JS-el, szerveroldalon pedig igen, egy egyszerű GET, egy SQL keresés az id-re, aztán mehet a hash.