Zadejte hledaný výraz...

Ajax, Javascript – prikladek

One
verified
rating uzivatele
7. 8. 2010 22:48:19
Ahojda,
mate nekdo z vas hotovy Ajaxik, kdy mam formular a jako prvni si dam IČO, po onblur mi to přes ajax načte, naparsuje a vloží do formuláře zbylá políčka (Dič, jméno/název, ulice číslo, město, psč)? Případně vysvětlit, jak to spolehlivě postavit...
Načte je klasicky odsud:
wwwinfo.mfcr.cz/cgi-bin/ares/darv_bas.cgi?ico=27074358
(vrací už rovnou XML)
Může to být tedy čistě JS (client side), případně PHP server side...
Díky za tipy...
---------- Příspěvek doplněn 09.08.2010 v 17:43 ----------
NIKDO NIC?
Ok, tak kazdemu kdo odpovi do SZ nebo sem davam reputaci.
Do SZ muzete i napsat pozadavek financni (s odkazem nekam, kde to chodi).
Chtel jsem tim usetrit praci lidem objednavajicim, ze jim to predvyplni udaje.
7. 8. 2010 22:48:19
https://webtrh.cz/diskuse/ajax-javascript-prikladek#reply539976
Jakub Truneček
verified
rating uzivatele
9. 8. 2010 19:48:34
Ahoj, ono to úplně (jen) na straně JavaScpritu. Kvůli cross-site scripting policy totiž není možné (ve většině prohlížečů) volat Ajax request z jedné domény na druhou. Je několik způsobů, jak se to obchází.
1. iFrame
2. PHP gateway, která je na stejné doméně
Sepsal jsem ti to hodně zhruba, spíš abys to pochopil a předělal sis to. Používá to jQuery (asi znáš)
Tohle je ten "plugin", stáhne XML rozparsuje a udělá z něj objekt.
//jquery.ares.js
(function($) {
$.ares = function(idNumber, options) {
var defaults = {
url: 'http://wwwinfo.mfcr.cz/cgi-bin/ares/darv_bas.cgi?ico=--idNumber--',
gateway: 'ajax-gateway.php?url=--url--',
finished: null,
notfound: null,
};
var opts = $.extend(defaults, options);
var url = opts.gateway.replace('--url--',
opts.url.replace('--idNumber--', idNumber));
$.get(url, function(data) {
var xml = $(data);
if (xml.find('D\:E').length == 1) {
// Chyba!
if ($.isFunction(opts.notfound)) {
opts.notfound.call(this);
}
} else {
if ($.isFunction(opts.finished)) {
var obj = {};
obj.idNumber = xml.find('D\:ICO').html();
obj.vatNumber = xml.find('D\:DIC').html();
obj.name = xml.find('D\:OF').html();
obj.country = xml.find('D\:NS').html();
obj.city = xml.find('D\:N').html();
obj.cityPart = xml.find('D\:NCO').html();
obj.street = xml.find('D\:NU').html() + ' ' + xml.find('D\:CD').html();
if (xml.find('D\:CO').html().trim() != '') {
obj.street += '/' + xml.find('D\:CO').html();
}
obj.postalCode = xml.find('D\:PSC').html();
opts.finished.call(this, obj);
}
}
});
}
})(jQuery);
Tady je gateway pro stahování obsahu stránek (XML z ares), to je snad úplně jasné
// ajax-gateway.php
echo file_get_contents($_GET);
No a tady je ukázka, jak se to používá
// index.html
jQuery + Ares

Ares & jQuery

 
 
Celé dohromady si to můžeš prohlédnout tady: http://public.trunecek.net/ares/
Kdyby něco, ptej se ;).
9. 8. 2010 19:48:34
https://webtrh.cz/diskuse/ajax-javascript-prikladek#reply539975
ja bych to rozdelil na php cast a js cast - php cast by parsovala wwwinfo.mfcr.cz/cgi-bin/ares/darv_bas.cgi?ico=27074358 a vracela ti json a nebo rovnou html,
js cast pak uz jenom vola tu php cast a mas to - v javascriptu ses prece jenom trosku vic omezenejsi nez v php a krom toho zbytecne neposilas traffix navic.
php cast by pak zacinala nejak takhle:
$xml = simplexml_load_file ( "http://wwwinfo.mfcr.cz/cgi-bin/ares/darv_bas.cgi?ico=27074358" );
foreach ( $xml -> xpath ( "prislusny xpath dotaz" ) as $el )
//naplneni vystupu
shodou okolnosti to mozna budu dneska implementovat, tak to sem pak mozna supnu ;)
9. 8. 2010 20:37:39
https://webtrh.cz/diskuse/ajax-javascript-prikladek#reply539974
One
verified
rating uzivatele
25. 8. 2010 02:13:57
trunda: diky, jak bude cas tak to zkusim...
nekolik pripominek, zkuste to okomentovat:
- priklad na tvym webu v IE hodi chybu (nejde, ale to mi dela na vice webech, nevim zda je to jen mojim IE anebo IE obecne nebo cim...?) a v Mozille vyskoci popup, kdyz ico neexistuje, kdybys naplnil ty data, tak by to bylo supeer:-)
Informace o firmě

Vaše osobní informace




- pro JS hovori mmj. to, ze pocet dotazu na ares je (z jedne IP) omezen, hlidan (pokud by vas chtel nekdo blokovat, tak to muze "zneuzit")
- ajax-gateway.php - by mozna chtelo nejak ochranit, aby to nekdo nezneuzil a netahal pres to neco jineho? to je vlastne anonymni proxy, jak na to koukam :)
- ta JS knihovna, sice ji neznam, ale to nevadi, jen me napadlo, kolik ma kB? Aby me treba uzivatele mobilniho pripojeni (Gprs) kvuli 200kB nezakousli, pokud se z toho pouziva jen nejaka malicka cast? Ale to asi pujde vytahnout, no uvidime...
vedouci: tak jak jsi implementoval, pochlub se :-))
Diky..
25. 8. 2010 02:13:57
https://webtrh.cz/diskuse/ajax-javascript-prikladek#reply539973
Kamil Tomšík
verified
rating uzivatele
(3 hodnocení)
25. 8. 2010 09:51:01
nakonec nijak, jsou bohuzel dulezitejsi veci
25. 8. 2010 09:51:01
https://webtrh.cz/diskuse/ajax-javascript-prikladek#reply539972
Jakub Truneček
verified
rating uzivatele
26. 8. 2010 17:45:14
Ahoj, mrknu na to, co jsi chtěl a doplním odpovědi. Snad dnes, nebo zítra.
26. 8. 2010 17:45:14
https://webtrh.cz/diskuse/ajax-javascript-prikladek#reply539971
One
verified
rating uzivatele
2. 9. 2010 00:51:36
tak to by bylo fajne :)
2. 9. 2010 00:51:36
https://webtrh.cz/diskuse/ajax-javascript-prikladek#reply539970
Pavel Dostál
verified
rating uzivatele
(3 hodnocení)
10. 9. 2010 15:43:08
Zdravím. Skript funguje pěkně http://public.trunecek.net/ares/ , ale zdá se, že to hází chybu a nenačítá z Registru ŽP. Když je to z OR jede to ok. Nevíte, kde by mohla být chyby, jiné tagy?
Díky za tip, jak to opravit.
---------- Příspěvek doplněn 10.09.2010 v 19:55 ----------
Po opravě tohoto řádku
takto
to už funguje. Nevím ovšem jestli je to správně.
10. 9. 2010 15:43:08
https://webtrh.cz/diskuse/ajax-javascript-prikladek#reply539969
Jakub Truneček
verified
rating uzivatele
14. 9. 2010 20:07:44
Ano, máš to správně s NULL.
14. 9. 2010 20:07:44
https://webtrh.cz/diskuse/ajax-javascript-prikladek#reply539968
David Křenek
verified
rating uzivatele
(3 hodnocení)
7. 4. 2011 18:51:45
Zdravím, jak už psal One - script nefunguje v IE, dokázal by někdo najít chybu? Docela by se mi to hodilo. Díky.
7. 4. 2011 18:51:45
https://webtrh.cz/diskuse/ajax-javascript-prikladek#reply539967
Jakub Truneček
verified
rating uzivatele
19. 12. 2011 10:49:41
Ahoj, vím, že je to trochu pozdě, ale ...
Problém je v tom, že IE nemá metodu trim u objektu string. Dá se to vyřešit globálně tak, že někam na začátek tvých skriptů umístíš:
a nebo použiješ trim z jQuery: http://api.jquery.com/jQuery.trim/, pak by výsledný kód vypadal následovně:
19. 12. 2011 10:49:41
https://webtrh.cz/diskuse/ajax-javascript-prikladek#reply539966
sonicer
verified
rating uzivatele
8. 6. 2012 21:47:04
Prosím jak načtu vysledné hodnoty do
moc děkuji za radu
8. 6. 2012 21:47:04
https://webtrh.cz/diskuse/ajax-javascript-prikladek#reply539965
Pro odpověď se přihlašte.
Přihlásit