Obsah fóra www.hojko.com
Hľadať  •  FAQ  •  IP  •  Zoznam užívateľov  •  Karma  •  Závisláci  •  Registrácia
 Prihlásiť sa pre kontrolu súkromných správ  •  Prihlásenie






menu v PHP a Ajaxe
Odoslať novú tému   Odpovedať na tému    Obsah fóra www.hojko.com -> Programovanie  
 Moje príspevky :: Zobraziť predchádzajúcu tému :: Zobraziť nasledujúcu tému  
Autor Správa
beluský
Medium Expert
Medium Expert


Pohlavie: Pohlavie:Muž
Stav: Odhlásený
Založený: 21.09.2006
Príspevky: 138

Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 24 Apr 2008, 19:58    Predmet: menu v PHP a Ajaxe Odpovedať s citátom  

cawte, ako spravit také nieco, aby sa po kliknuti na polozky menu zobrazilo "pod menu" bez reloadnutia stranky... skusal som taketo nieco, ale v Opere to vobec nejde a vo FF som to neskusal...
index.php
Kód:
<html>
<head>
  <script src="skripty.js"></script></noscript>
</head>
<body>
  <div id="menuTovar">
    <a value="1" onClick="zobrazMenu(this.value, 0)">Polozka 1</a><br />
    <a value="2" onClick="zobrazMenu(this.value, 0)">Polozka 2</a><br />
    <a value="3" onClick="zobrazMenu(this.value, 0)">Polozka 3</a><br />
  </div>
</body>
</html>

skripty.js
Kód:
var xmlHttp
///////////////////////////////////////////////////////////
function zobrazMenu(level, sub) {
  xmlHttp = GetXmlHttpObject()
   
  if (xmlHttp == null) {
    alert ("Browser does not support HTTP Request")
    return
  }

  var url="menu.php?level="+level+"&sub="+sub
 
  xmlHttp.onreadystatechange = menu
   
  xmlHttp.open("GET",url,true)
  xmlHttp.send(null)
}
function menu() {
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
    document.getElementById("menuTovar").innerHTML = xmlHttp.responseText;
  }
}
/////////////////////////////////////////////////////////
function GetXmlHttpObject() {
  var xmlHttp=null;
 
  try {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  }
  catch (e) {
    //Internet Explorer
    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
 
  return xmlHttp;
}

menu.php
Kód:
<?php
  $level = $_GET["level"];
  $sublevel = $_GET["sub"];
 
  $html = '<a value="1" onclick="zobrazMenu(this.value, 0)">Polozka 1</a><br />';
 
  switch($level) {
    case 1 :
              $html .= '<a value="1" onclick="zobrazMenu(1, this.value)"> sub1</a><br />
              <a value="2" onclick="zobrazMenu(1, this.value)"> sub2</a><br />
              <a value="3" onclick="zobrazMenu(1, this.value)"> sub3</a><br />';
              $html .= '<a value="2" onclick="zobrazMenu(this.value, 0)">Polozka 2</a><br />';
              $html .= '<a value="3" onclick="zobrazMenu(this.value, 0)">Polozka 3</a><br />';
      break;
     
    case 2 :
              $html .= '<a value="2" onclick="zobrazMenu(this.value, 0)">Polozka 2</a><br />';
              $html .= '<a value="1" onclick="zobrazMenu(2, this.value)"> sub1</a><br />
              <a value="2" onclick="zobrazMenu(2, this.value)"> sub2</a><br />
              <a value="3" onclick="zobrazMenu(2, this.value)"> sub3</a><br />';
              $html .= '<a value="3" onclick="zobrazMenu(this.value, 0)">Polozka 3</a><br />';
      break;
     
    case 3 :
              $html .= '<a value="2" onclick="zobrazMenu(this.value, 0)">Polozka 2</a><br />';
              $html .= '<a value="3" onclick="zobrazMenu(this.value, 0)">Polozka 3</a><br />';
              $html .= ' <a value="1" onclick="zobrazMenu(3, this.value)"> sub1</a><br />
              <a value="2" onclick="zobrazMenu(2, this.value)"> sub2</a><br />';
      break;
  }
 
  echo $html;
?>
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu Zobraziť autorove WWW stránky
audiotrack
Moderátor
Moderátor


Pohlavie: Pohlavie:Muž
Stav: Odhlásený
Založený: 09.09.2005
Príspevky: 6447
Bydlisko: Prievidza
Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 24 Apr 2008, 20:12    Predmet: Odpovedať s citátom  

videl si niekedy, že by hypertextový odkaz mal value? Stačilo si pozreť na akú url sa posiela požiadavok, a zistil by si že hladá stránku menu.php?level=undefined&sub=0

Odkazy musíš spraviť takto:
Kód:
<a onClick="zobrazMenu(1, 0)">Polozka 1</a><br />
<a onClick="zobrazMenu(2, 0)">Polozka 2</a><br />
<a onClick="zobrazMenu(3, 0)">Polozka 3</a><br />
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu Odoslať e-mail Zobraziť autorove WWW stránky AOL Instant Messenger Yahoo Messenger
gwixt
Addict
Addict


Pohlavie: Pohlavie:Muž
Stav: Odhlásený
Založený: 24.09.2005
Príspevky: 3090
Bydlisko: Trash-Can
Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 25 Apr 2008, 11:00    Predmet: Odpovedať s citátom  

na ajax pouzi nejaky framework (xajax napr) .. tam mas aku taku zaruku ze ti to bude fungovat v prehliadacoch (nejakom urcite Smile )
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu
beluský
Medium Expert
Medium Expert


Pohlavie: Pohlavie:Muž
Stav: Odhlásený
Založený: 21.09.2006
Príspevky: 138

Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 25 Apr 2008, 13:40    Predmet: Odpovedať s citátom  

uz to funguje, vážne mu vadilo to value
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu Zobraziť autorove WWW stránky
Zobraziť príspevky z predchádzajúcich:    Časy uvádzané v GMT + 1 hodina
Odoslať novú tému   Odpovedať na tému    Obsah fóra www.hojko.com -> Programovanie
Strana 1 z 1

 
Prejdi na:  
Nemôžete odosielať nové témy do tohto fóra
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre
Nemôžete hlasovať v tomto fóre
Nemôžete pripájať súbory do tohto fóra
Môžete sťahovať súbory v tomto fóre


Powered by phpBB © 2005 phpBB Group, phpBB SEO, © Hojko 2004-2008

[ Vygenerované za: 0.1s ] :: [ 16 Queries ] :: [ 8,075 stránok za dnes ] :: [ Dnes DB: 146,376 ] :: [ Max DB: 2,334,336 Queries ]