Autor Zpráva
jakub67
Profil *
http://digitarald.de/project/autocompleter/1-1/showcase/request-html/
Upravil jsem si vyhledavani (viz odkaz), aby po kliknuti na vyhledanou polozku rovnou
presmerovalo na nejakou stranku. Asi takto:

Soubor: Autocompleter.js
setSelection: function(finish) {
var input = this.selected.inputValue, value = input;
window.location = "index.php?q="+value; 

},




Nevite nekdo jak mohu predat ID, které se generuje ve script.php a predat ho do
této funkce (setSelection), abych ho mohl pouzit v odkazu (k value pridat jeste to ID)? V JS se bohuzel moc
neorientuji.

script.php

$value = $_POST['value'];
 
if (is_string($value) )
{
  $query= mysql_query("SELECT * FROM novinky WHERE titulek LIKE '%$value%'");   
     while ($row = mysql_fetch_array($query)) {
     
      $titulek= $row[titulek];
      $ID = $row[id];
      echo "<li><span>$titulek</span></li>";   
    }

}


Budu vdecny za kazdou radu,
predem diky!
joe
Profil
Místo
echo "<li><span>$titulek</span></li>";   

dej
echo '<li><span><a href="index.php?q=' . $row['titulek'] . '&id=' . $row['id'] . '">' . $row['titulek'] . '</span></li>';   


Tohle
$value = $_POST['value'];
představuje bezpečnostní riziko. Uprav na
$query= mysql_query("SELECT * FROM novinky WHERE titulek LIKE '%" . mysql_real_escape_string($value) . "%'");  
jakub67
Profil *
joe:
Bohužel, v tomhle je problém, řešili jsme to už v PHP sekci, položky, které se nabídnou jako "našeptané" jsou již aktivní jako odkaz (po kliknutí se text zobrazí v input). Takhle vytvořim odkaz pouze pro text a zbytek rámečku okolo textu je stále odkaz na input.

A proto se obracím na vás JSčkaře :-). Je nějak možné do js (http://digitarald.de/project/autocompleter/1-1/source/Autocompleter.js) dostat ID, a číst ho ve funkci setSelection, kde ho také přesměrovat přesměrovat (window.location = "index.php?q="+value+mojeID;).

Myslel jsem že by se mezi tagy <li></li>, vložil nějaký vlastní tag, ve kterém by bylo ID a to by se poté odchytilo v JS, jako je to teď s názvem mezi tagy <span></span>. Ale nevím jak to udělat, nebo je jiné řešení? Díky
joe
Profil
jakub67:
po kliknutí se text zobrazí v input

Pokud chceš po kliknutí hned vyhledávat, tj. přejít na adresu s id, proč se vůbec zabýváš zapisováním do inputu?
jakub67
Profil *
joe:
Takhle ten script byl původní, tedy zápis do inputu. Ja bych ho potřeboval modifikovat.

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:

Prosím používejte diakritiku a interpunkci.

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