Autor Zpráva
Andree
Profil
Dobrý den,
potřeboval bych poradit jak nakombinovat javascript s php.
Mělo by to fungovat tak, že když v seznamu vyberu nějaký výběr, tak bez znovu načtení stránky by měl z databaze přijít nějaký text.


kod:
<form id="formular" name="formular" action="#" method="POST">
    <fieldset title="mesto">
        <legend>vyber mest</legend>
            <label>vyber mesto</label>
            <select id="vyber">
                <option selected>....</option>            
                <option>Praha</option>            
                <option>Brno</option>            
                <option>Ostrava</option>            
                <option>Olomouc</option>            
            </select>
            <label>vysledek</label>
            <input type="text" name="vysledek" />
        <button type="submit">send</button>
    </fieldset>
</form>

<script type="text/javascript">
document.formular.vyber.onchange = function () {
    var id = document.formular.vyber.selectedIndex;
    var vyber = document.formular.vyber[id].value;
    document.formular.vysledek.value = vyber + <?php echo 'nejaky text, ktery prijde z databaze' ?>;
}

</script>
xROAL
Profil
AJAX

Je tam jednoduchý a zrozumiteľný tutorial, prejdi si to celé a myslím že nebudeš mať problém.
Andree
Profil
Jsi hodný, že se mě snažíš dotlačit k novému "jazyku". Časem se na ajax podívám, ale momentálně potřebuji vyřešit tuto maličkost přes php a javascript. Už se s tim štvu celej týden. Tak bych to nerad vzdal a řešil to přes jiný "jazyk".
ninja
Profil
Andree: Zkuste na ten link alespoň kliknout, případně si dát AJAX do vyhledávače. Žádný jiný jazyk to není a jiná cesta není.
juriad
Profil
Javascript nemůže přímo spouštět PHP. PHP se vykoná vždy dříve než javascript (běží na jiném počítači).
Alphard
Profil
To není nový jazyk, jen technika spojující známé věci. Určité alternativy jsou uvedeny na Nejčastější potíže s PHP (FAQ) » Jak přenést proměnnou z javascriptu do PHP, ale vzhledem k tomu, že potřebujete i přijímat dat, zřejmě skončíte opět u AJAXu (není jediný možný, ale existuje pro něj nejvíc ukázek, což ho dělá nejsnadnějším).
xROAL
Profil
Andree:
momentálně potřebuji vyřešit tuto maličkost přes php a javascript
AJAX vlastne je JavaScript. Ide o načítanie scriptu/súboru na pozadí, výsledok tohto scriptu (resp. obsah súboru, po spracovaní serverom) sa vráti ako odpoveď do JavaScriptu a s týmto môžeš ďalej na aktuálnej stránke pracovať.
Andree
Profil
Moc vám všem děkuji. Měli jste pravdu. zkoušel jsem to vyřešit přes skryty formulář v pozadí, ale moc to nefungovalo.
Nakonec jsem rezignoval a podíval se na ajax a vytvořil jsem to nějak takhle.

document.formular.vyber.onchange = function () {

var myRequest;

var id = document.formular.vyber.selectedIndex;

var vyber = document.formular.vyber[id].value;

if (window.XMLHttpRequest) {
    myRequest = new XMLHttpRequest();
}else if (window.ActiveXObject) {
    myRequest = new ActiveXObject("Microsoft.XMLHTTP");
}

myRequest.onreadystatechange = function () {

    if (myRequest.readyState == 4) {
        var p = document.createElement("p");
        var t = document.createTextNode(myRequest.responseText);
        p.appendChild(t);
        document.getElementById("box").appendChild(p);
    }
}

myRequest.open("GET", vyber+".php", true);

myRequest.send(null);

}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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