Autor Zpráva
unlucky
Profil
Ahoj, chtěl bych do inputu zadat jméno, zmačknout tlačítko a přes ajax vytáhne data o tom člověku a automaticky vyplní formulář.

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
    function load(data) {
        $("#one").val('data.one');
        $("#two").val('data.two');
        $("#three").val('data.three');

    }

$("#go").click(function(){
        $.get('test_search.php', function(result) {
        $('.one').val(result);
        load(result);
});
      });
</script> 
<input type='text' id='st'><span id='go'>Vyhledat</span>  <br />
one: <input type=text id='one' class='one'><br />
two: <input type=text id='two'><br />
three: <textarea id='three'></textarea><br />

v test_search.php mam zkusebni data:
<?php
$data['one']='jedna';
$data['two']='dva';
$data['three']='tri';
?>
A nic se neděje :)
_es
Profil
unlucky:
A nic se neděje :)
No to asi preto, že v 10. riadku neexistuje element s id=go.
unlucky
Profil
id s go tam je. Zatim jsem to chtel takhle zjednodusene - ziskat predpripravena data ze skriptu
Chamurappi
Profil
Reaguji na unluckyho:
id s go tam je.
Podle uvedeného kódu není. Skripty se spouští hned, jak se stáhnou.

Vidím víc problémů. Co vrací stránka test_search.php? Řekl bych, že vůbec nic, jen se na serveru naplní nějaká PHP proměnná a ta se zahodí.
unlucky
Profil
Zkoušel jsem tohle, také se nic neděje
<script type="text/javascript">
    function loadni(data) {
        $("#one").val(data.one);
        $("#two").val(data.two);
        $("#three").val(data.three);
    }

$("#go").click(function(){
        $.getJSON('test_search.php', {'ic' : $("#st").val()}, loadni);
});
</script>    
<h2>insert ajax</h2>
<input type='text' id='st'><span id='go'>Click here go</span>  <br />
one: <input type=text id='one' class='one'><br />
two: <input type=text id='two'><br />
three: <textarea id='three'></textarea><br />

test_search.php

{
  "one": "jedna",
  "two": "dva",
  "three": "tri"
}
martin1312
Profil
unlucky:
funkcií loadni neposielaš žiadny parameter s dátami
unlucky
Profil
tak jak teďka teda :)
Chamurappi
Profil
Reaguji na unluckyho:
$("#go") na řádku 8 nic nenajde. Skripty se spouští hned, jak se stáhnou, nečeká se na dotažení stránky.


Reaguji na martina1312:
Vždyť také funkci loadni nevolá, předává ji jako callback. Tohle má správně.
martin1312
Profil
Chamurappi:
jaj veru áno, dávno som nepoužil iný spôsob ako anonymné fcie tak som sa sekol :)

unlucky:
Chamurappi tým chce povedať, že si buď celý blok script presuň na koniec stránky alebo použi .ready()
unlucky
Profil
jezíi, dekụji. Toto je podruhe/potreti co davam vse na zacatku stranky :)))
unlucky
Profil
Ještě prosím poslední dotaz. S tímhle skriptem nemohu vkládat celý url.
Když vložím url, nefunguje. Cokoli jiného a funguje
Chamurappi
Profil
Reaguji na unluckyho:
S tímhle skriptem nemohu vkládat celý url.
Můžeš. Vlastně musíš.

Když vložím url, nefunguje. Cokoli jiného a funguje
Cokoliv jiného než URL… to je jako co?
Jestli tím myslíš rozdíl mezi absolutní a relativní adresou a akorát neumíš používat tyto pojmy, tak AJAXu je jedno, jestli zadáváš URL absolutně či relativně. Samozřejmě mu není jedno, jestli posíláš požadavek na cizí doménu — to ti prohlížeč z bezpečnostních důvodů nedovolí.
unlucky
Profil
Chamurappi:
Přes ajax předám hodnotu z inputu s id ST skriptu. Když je hodnota url, tak se nic neděje. Když zadám cokoli jiného, skript reaguje normálně

$("#go").click(function(){
        $.getJSON('test_search.php', {'ic' : $("#st").val()}, loadni);
});
</script>    
<input type='text' id='st'><span id='go'>Click here go</span> 
Chamurappi
Profil
Reaguji na unluckyho:
Aha. Tak to bude nejspíš chyba v test_search.php.
unlucky
Profil
Chamurappi:
pravdepodobne ne.
v test_search.php byly pouze zkusebni json data.

edit: tak to jsem z toho jelen, uz to jede ><

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: