« 1 2 »
Autor Zpráva
vkalina
Profil
Zdravim, vytvořil jsem tuto funci
function nastavteplotudoma() {
d = prompt("Zadej domácí teplotu", "");
if(d > 5 && d < 40){
    var nastavdoma = d;
    }
else{
    alert("Teplotu lze měnit v rozsahu 5 až 40°C");
    }
}

místo "var nastavdoma=d" , bych ale potřeboval na server odeslat tento prikaz
sdscep?sys147=44
kde tech "44" by mela byt ta promenna "d"

cela stranka je tady 62.209.235.84/user.htm
Je to nahrane v PLC modulu, a potrebuju do nej ukladat prave ty zmeny prez tlacitka do promennych sys(147) sys(148)

Vim ze je to asi primitivni, ale s javascript bojuji teprve tyden. Pomozte prosim stari kozaci.
Diky Venca
Camo
Profil
vkalina:
Tak keď JS neovládaš tak asi len takto:
location=location.href+'?d='+d;
Len aby si tam nemal dva otázniky.
vkalina
Profil
Tak se mi to povedlo takto
function nastavteplotudoma() {
d = prompt("Zadej domácí teplotu", "");
if(d > 5 && d < 40){
    location.href = "http://62.209.235.84/sdscep?sys147="+d ;
//    location.href = "http://62.209.235.84/user.htm" ;
    }
else{
    alert("Teplotu lze měnit v rozsahu 5 až 40°C");
    }
}
Problem je v tom, ze se mi to samozrejme presmeruje na novou stranku. Jak to udelat, aby se pouze provedl http get, ale zustala nactena povodni stranka ?
http://62.209.235.84/user.htm
kdyz dam za to jeste
location.href = "http://62.209.235.84/user.htm" ;
tak se predchozi
location.href = "http://62.209.235.84/sdscep?sys147="+d ;
neprovede

<\
Jan Kupka
Profil
vkalina:

Místo location.href použij XMLHttpRequest (viz https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest).
Joker
Profil
Případně, jestli se ta adresa má jen „pingnout“, ještě jednodušší metoda než XMLHTTPRequest je vyrobit iframe, případně obrázek, a na tu adresu ho nasměrovat.
vkalina
Profil
No to vypada jako spravny smer, jen nevim, jestli to se svymi znalostmy dam dokupy. Potrebuju, aby se na tu stranku ten prikaz odeslal a vykonal. Nabiji to promennou, s kterou pak pracuje vnitrni program PLC
Neslo by vymyslet neco jako open("GET", "get_sys[147] ale nevim jak dal ?
preca1
Profil
vkalina:
http://citron.blueboard.cz/clanek/univerzalni-funkce-pro-ajax
vkalina
Profil
preca1:
VYRESENO
S boží pomocí, tedy pomocí kolegy z práce jež je BÚH vzniklo toto, kdyby to někdo potřeboval

function nastavteplotudoma() {
d = prompt("Zadej domácí teplotu", "");
if(d > 5 && d < 40){
            var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
            var url="sdscep"
            url=url+"?sys147="+d+"&"+Math.random()+"="+Math.random()
            if(x == null)
            {
                alert("OOooops, Ajax se zakoktal.")
            }

            x.onreadystatechange = function()
            {
                if(x.readyState==4 && x.status==200)
                {
                    // Tady muzem vlozit do aktualni stranky vracenout hodnotu
                    // document.getElementById("realizace").innerHTML=x.responseText
                    alert('Skript vratil retezec: ' + x.responseText);
                }
          }

            x.open("GET", url, true);
            x.send(null);
    }
else{
    alert("Teplotu lze měnit v rozsahu 5 až 40°C");
    }
}
Kcko
Profil
vkalina:
Nepotřebujeme, umíme základy JS a proto se též pasujeme na božstvo.
vkalina
Profil
Kcko:
o tom nepochybuji, dal jsem to tam pro talpy jako ja
Str4wberry
Profil
Pokud není potřeba zpětná vazba od skriptu, lze, jak píše Joker, použít obrázek, stačí dva řádky kódu.
vkalina
Profil
Str4wberry:
Ted uz to chapu, je to jednodusi a pro moje potreby by to taky stacilo.
Diky Vsem za pomoc
preca1
Profil
Str4wberry:
Může někdo prosím rozvést, kdy nepotřebuju zpětnou vazbu ze serveru? Nenapadá mě situace, kdy aspoň nepotřebuju vědět, jestli se volání podařilo, nebo ne. Dík
Joker
Profil
preca1:
Může někdo prosím rozvést, kdy nepotřebuju zpětnou vazbu ze serveru?
Třeba zrovna v případě, který vkalina v tomto vlákně řeší.
Chce jen odeslat hodnotu nějakému skriptu, žádná zpětná vazba se nepožaduje (v [#1] není ani zmíněné, že by chtěl testovat úspěch/neúspěch volání).

Jinak nějakou čistě binární informaci typu „úspěch/neúspěch“ by šlo předat i u toho obrázku, kdyby serverový skript byl naprogramovaný tak, aby v případě úspěchu opravdu vrátil skutečný obrázek.
Například budu mít serverový skript, který něco udělá a v případě úspěchu vrátí zelený obrázek. Prvku nastavím na pozadí červený obrázek a jako src vložím příslušný skript. A pak červený obrázek = neúspěch a zelený obrázek = úspěch.
Chamurappi
Profil
Reaguji na precu1:
V případech, kdy není moc jasné, co by se mělo při selhání dál dělat. Když je selhání málo pravděpodobné a skoro neškodné.


Reaguji na Jokera:
aby v případě úspěchu opravdu vrátil skutečný obrázek
Ano, stav se potom odchytí událostmi onload a onerror.
Po úspěšném načtení obrázku je též možné zjistit jeho rozměry, takže jde touto cestou celkem snadno přenést dvě čísla.
preca1
Profil
Použití obrázku po technický stránce chápu, šlo mi o tu aplikaci.
Joker:
Tak zrovna v tomhle případě by to podle mě řešit měl. Když nastavuje nějakou hodnotu, tak by měl uživateli dát vědět, jestli se poštěstilo.

Chamurappi:
A nějaký takový konkrétní případ? Napadá mě snad jen udržování informací o tom, že je uživatel přihlášen.
vkalina
Profil
No a ted resim opacny problem, potrebuju nacist do promenny vysledek tohoto GETu
http://62.209.235.85/get_sys[310]
tak co pomuze nekdo ?
_es
Profil
vkalina:
No a v [#8] ti snáď odpoveď servera nevypíše, alebo na čo sa vlastne pýtaš?
Str4wberry
Profil
Buď lze použít ten AJAX (pokud se získávají data ze stejné domény). Jinak to jde vyřešit tak, že uvedený skript vrátí JS kód. Například zavolá nějakou funkci a předá jí data. Tato JS funkce bude definována na stránce, která má data zjišťovat a celá akce se spustí tak, že se zmíněná stránka (http://62.209.235.85/get_sys[310]) připojí jako externí skript.
vkalina
Profil
_es:
v tomo pripade jsem na odesilal promennou "d" (nastavoval teplotu ) na web zarizeni
tedka ale potrebuji teplotu z jineho cidla zarizeni ulozit do prommene, abych s ni mohl dale pacovat. (to je ten vysledek na strance)


Str4wberry:
Je to samozrejme ze stejne domeny, to ze to musi byt pres ajax je mi jasny, ale netusim jak to do ty pomenny dostat.
Str4wberry
Profil
Přes AJAX to být nemusí. Druhý způsob lze použít i u stejné domény.

Tedy by to mohlo být následovně: Na uvedené stránce si vypište var promenna = 456; a tento skript si připojte do stránky, která má s hodnotou pracovat.
vkalina
Profil
Mozna se neumim spravne vyjadrit, ale ja potrebuji /ted me nekamenujte, vim ze to takto nejde /
var promenna = http://62.209.235.85/get_sys[310]
pricemz ten get_sys je ta teplota
_es
Profil
vkalina:
No a kde je problém v tom, aby si si v [#8] upravil URL HTTP dotazu a iné veci?

ulozit do prommene, abych s ni mohl dale pacovat. (to je ten vysledek na strance)
No ale vo funkcii priradenej do x.onreadystatechange (v [#8]) môžeš s vrátenými dátami robiť, čo len chceš.
Str4wberry
Profil
Na té stránce http://62.209.235.85/get_sys[310] místo současného čísla vypište zkrátka var promenna = teplota;. Pokud používáte PHP, tak něco jako:
<?php echo "var promenna = " . $teplota . ";";
A teď po připojení této stránky jako externí JS budete mít v proměnné promenna teplotu.
vkalina
Profil
_es:
nejde o to upravit url http dotazu, na to bych se se neptal, ale dostat nazpet to co zobrazi ta uvedena adresa, kdyz si parkrat za sebou refresnete ten odkaz http://62.209.235.85/get_sys[310] , zjistite, ze se ta hodnota neustale meni a ja ji pave potrbuju nacist a pracovat s ni


Str4wberry:
V phpku to neni problem, tam to vycitam prez XML viz
http://ksystems.cz/Teplomer/kotelna.php
http://62.209.235.86/Teplomer/tcklima.php

. Ale ja to prave potrebuju dostat na web kterej je soucasti onoho PLC modulu a ten v sobe nema php, takze to potrebuju dostat do javascriptu
_es
Profil
vkalina:
se ta hodnota neustale meni a ja ji pave potrbuju nacist a pracovat s ni
No tak ju predsa načítaš pomocou objektu XMLHttpRequest koľkokrát len chceš a „pracovať“ s ňou môžeš podľa ľubovôle - máš ju vo vlastnosti responseText. Stále nerozumiem, v čom je vlastne problém.
vkalina
Profil
tak ten script napis a dej ho sem
_es
Profil
vkalina:
Prečo si ho nenapíšeš sám? Aké ešte informácie k tomu potrebuješ? Diskusia slúži skôr na rady, než na riešenie dotazov „Napíšte mi skript“ - s neúplným a vágnym popisom, čo by mal ten skript robiť.
vkalina
Profil
_es:
s JS teprve zacinam, proto se ptam a schanim informace. Pokud nechcete a nebo neumite pomoc, je zbytecne se do diskuse zapojovat. Kdybych to umel vyresit, tak tu nebudu otravovat.
_es
Profil
vkalina:
Pokud nechcete a nebo neumite pomoc, je zbytecne se do diskuse zapojovat.
Problém je, že nie je jasné, v čom je vlastne problém:
Tvrdíš, že:
- skript v [#8] ti funguje.
- kde sa v ňom nastavuje URL, ti je vraj jasné.
- s vrátenou hodnotou „pracovať“ vieš - v [#8] ti ju vypíše funkcia alert.

Takže mi nie je jasné, prečo si jednoducho nezmeníš URL dotazu a „nepracuješ“ s vrátenými dátami nejako inak ako v [#8].
« 1 2 »

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:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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