Autor Zpráva
Ben
Profil *
Ahoj, hledám řešení jak dostat výsledek Javascriptové funkce do PHP.
Mám následující kód:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">

<script type="text/javascript">
function NxSetInnerHTML(name, value){
    document.getElementById(name).innerHTML = value;
}
</script>
</head>
<body>

 <div ID="ScriptReturn" NxScript="NxSetInnerHTML('ScriptReturn', '%s'):abra.eu.toji.ActualUser.userid.id()">

 </div>

</body>
</html>

Výsledkem této stránky je zobrazení čísla mapř ve tvaru: 100001001
Když si zobrazím html zdroj, tak tam to vypsané není. A já potřebuji tuto hodnotu nacpat nějak do php proměné. Napadá vás něco?
l564
Profil
No pokud by to bylo PHP Soubor tak bych začínal především s
<?php
?>
Ben
Profil *
v php už vědět budu, jen nevím, jak výsledek toho javascriptu předat do php. Stačí mi to nějak nacpat třeba do html zdroje
TomasJ
Profil
Ben: AJAX myslím bude řešením.
Ben
Profil *
byl by prosím konkrétní příklad?
TomasJ
Profil
Ben:
Bohužel, AJAX zatím neumím, ale vím, že v tom to půjde.
Ben
Profil *
mě by stačilo vypsat to klidně do html zdroje stránky, klidně nějak přes document.write, jen nevím, jak to do toho zakomponovat
TomasJ
Profil
Tak mě jen napadá po načtení stránky, ji přesměrovat na adresu s tím parametrem, na jiné stránce se zpracuje a odešle se zpět... Ale bylo by to složité na podmínky, aby se náhodou nestala nekonečná smyčka...
u JS se přesměrovává pomocí
window.location.href = "url";
//nebo
window.location.replace("url");
//ale podle dokumentace na mozilla.org stačí toto
window.location = "url";

No a odkazoval bych třeba takto:
var cisla = 100001001;
window.location.replace("zpracovani_z_js.php?parametr="+cisla);
Ben
Profil *
TomasJ Děkuji, toto mi dost pomůže, ale nevím jak dostat informaci do:
var cisla = 100001001;

Mám to udělat nějak takto?
var cisla = NxSetInnerHTML('ScriptReturn', '%s'):abra.eu.toji.ActualUser.userid.id();
TomasJ
Profil
Ben:
Pokud
NxSetInnerHTML('ScriptReturn', '%s'):abra.eu.toji.ActualUser.userid.id()
vrátí to co potřebuješ, tak ano. Nevím k čemu tato funkce je, neznám ji.
Jinak, pokud bys potřeboval dostat php výsledek do javascriptu, dělá se to nějak takto:
var cislo = <?php $a = 123; echo $a;?>;
Ben
Profil *
Supr, děkuju za nasměrování. Zítra zkusím a dám vědět. Jsem dlužník :)
1Pupik1989
Profil
Nevim, ale
var cislo = <?php $a = 123; echo $a;?>;

mi připadá stejné jako
var cislo = 123;


Jde to třeba:
<?php
echo "<script type=text/javascript>\n";
echo "var cislo=$cislo;\n";
echo "</script>";
?>

nebo
<?php
$cislo=1235467890;
?>
<script type=text/javascript>
var cislo="<?=$cislo?>;
</script>";

nebo
Funkcí get() atd.
TomasJ
Profil
1Pupik1989:
Nevim, ale
var cislo = <?php $a = 123; echo $a;?>;
> mi připadá stejné jako
> var cislo = 123;
To taky byl jen příklad, jak vypsat php proměnnou v JS a jen jsem ji před to echo definoval, aby byla nějak určená proměnná $a...

nebo
Funkcí get()
Proč každý odkazuje na jQuery? To jsou z toho všichni tak, s prominutím "postížení"?
1Pupik1989
Profil
No a jak by si třeba záznam z mysql nacpal do databáze bez znovunačtení stránky? To samé je výpis atd. Navíc to je skrácení kódu o cca. 80%, tak asi proto jsou všichni tak odvaření z jquery :)

A pamatuj, že jeden z postižených ti radí, aby si si pro příště přečetl něco o ajaxu :)
_es
Profil
Ben:
Uvedomuješ si, že JavaScript a PHP bežia na odlišných strojoch?
Viď aj podobnú diskusiu.

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: