Autor Zpráva
huskye
Profil *
Ahoj,
mám problém. Dělám projekt a jeho součástí má být i použitý ajax s jquery.
Nebudu probírat co už mám, zaměřím se na to co bych potřeboval. Předně musím říct
že absolutně jquery a ajax neumim...
Tak, mám stránku kalkulacka.php na které volám kalk.php:

<?php
include "cs/kalk.php"
?>

a v kalk chci mít formulář s dvěmi okny, jedno "Kolik jste si půjčili:" a druhé "Kolik je roční úrok:"
po zadání bych rád zavolal script kalkul.php kde se mi načtou tyto dvě rpoměné a spočítá se mi
kolik sjem si pujčil děleno stem a to celé krát ten úrok. A to by mi mělo pomocí ajaxu vyskočit na
kalkulacka.php, kde by mohlo být i ěnjaké tlačítko spočítat...
v kalk.php mám zatim:

<h3>Úroky</h3>
<fieldset>
<form name="reg" id="reg" action="kalkul.php">
<label for="jm">Kolik jste si půjčili?</label> <br><input size=10 id="nc" name="cena"><br>
<label for="jm">Jaký máte roční úrok?</label> <br><input size=10 id="jm" name="urok"> <br>
<input type="reset" value="Vymaž"> no a nějaké tlačítko na výpočet
</form>
</fieldset>

Věděl by jste někdo jak na to? Už to docela hoří a já jsem prostě dutohlav... nepřišel sjem na to...
habendorf
Profil
Tohle ti buď někdo musí napsat celé, nebo si o tom přece jen budeš muset něco přečíst.
Joker
Profil
huskye:
K čemu tam bude AJAX? Se pošlou na server dvě čísla, server je vynásobí a pošle zpět na klienta?

Vždyť v nejtriviálnější variantě ten výpočet zabere jeden řádek:
<div id="vysledek"></div>
<button onclick="document.getElementById('vysledek').innerHTML = document.getElementById('nc').value * (document.getElementById('jm').value / 100)">Výpočet</button>

...samozřejmě "pořádně" napsané by to byla funkce na pár řádků, ale AJAX?
habendorf
Profil
Joker:

Dělám projekt a jeho součástí má být i použitý ajax s jquery.

Asi to má do školy ...
huskye
Profil *
přesně... musim použít jako součást projektu javascript a ajax, tak jsem to chtěl udělat takhle v téhle primitivní kalkulačce. Ať to tam prostě je obsažené :-( ale jaksi jsem se zababral v jiných částech a na naučení ajaxu už čas nezbyl...
huskye
Profil *
nevíte proč mi tohle nejede?

<h3>Archiv</h3>
<select name="vyber" id="vyber" onchange="vyberClanek();">
<option value="0">Vyberte článek</option>
<option value="clanek1.txt">Článek jedna</option>
<option value="clanek2.txt">Článek dvě</option>
</select>

<div id="mistoZobrazeni">
</div>

<?php
$vyber = $_REQUEST["vyber"];
function vyberClanek()
{
var url = document.getElementById("vyber").value;

if (url != 0)
{
if (window.ActiveXObject)
{
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
httpRequest = new XMLHttpRequest();
}
httpRequest.open("GET", url, true);
httpRequest.onreadystatechange= function () {processRequest(); } ;
httpRequest.send(null);
}
else
{

document.getElementById("mistoZobrazeni").innerHTML = "";

}
}

function processRequest()
{
if (httpRequest.readyState == 4)
{
if(httpRequest.status == 200)
{
var mistoZobrazeni = document.getElementById("mistoZobrazeni");
mistoZobrazeni.innerHTML = httpRequest.responseText;
}
else
{
alert("Chyba pri nacitani stanky
"+ httpRequest.status +":"+ httpRequest.statusText);
}
}
} ?>
huskye
Profil *
http://homel.vsb.cz/~kuc435/a/kalkulacka.php

nějak to ty články pořád neukládá, přitom je mám taky v té složce jako kalk.php, tedy ../a/cs,
ten kalk.php mám teď:

<h3>Archiv</h3>
<select name="vyber" id="vyber" onchange="vyberClanek();">
<option value="0">Vyberte článek</option>
<option value="clanek1.txt">Článek jedna</option>
<option value="clanek2.txt">Článek dvě</option>
</select>

<div id="mistoZobrazeni">
</div>

<script language="javascript" type="application/javascript" src="jquery.js"></script> //jquery.js mám v rootu i složce cs, pro jistotu
<script type="text/javascript">
function vyberClanek()
{
var url = document.getElementById("vyber").value;

if (url != 0)
{
if (window.ActiveXObject)
{
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
httpRequest = new XMLHttpRequest();
}
httpRequest.open("GET", url, true);
httpRequest.onreadystatechange= function () {processRequest(); } ;
httpRequest.send(null);
}
else
{

document.getElementById("mistoZobrazeni").innerHTML = "";

}
}

function processRequest()
{
if (httpRequest.readyState == 4)
{
if(httpRequest.status == 200)
{
var mistoZobrazeni = document.getElementById("mistoZobrazeni");
mistoZobrazeni.innerHTML = httpRequest.responseText;
}
else
{
alert("Chyba pri nacitani stanky
"+ httpRequest.status +":"+ httpRequest.statusText);
}
}
} </script>
_es
Profil
huskye:
Kód sa tu dá označiť ako kód - tlačidlo
Máš tam syntaktickú chybu, nadbytočné zalomenie pri volaní alert.
A funkciu vyberClanek sa snažíš priradiť skôr ako existuje, čo je asi ďalšia chyba.
Na takéto jednoduché veci ti postačí nejaká chybová konzola JavaScriptu.
huskye
Profil *
Tak jsem to změnil ještě znovu na tohle, ale stejně mi to nejede a už si fakt nevim rady... a absolutně netušim v čem si to můžu nechat zkontrolovat. Byl mi poraděn ve firefoxu firebag, ale ten jsem tam ani nenašel :-) Tak díky za rady, vypadá to že si ten rok zopakuju :-(

<script language="javascript" type="application/javascript" src="jquery.js"></script>
<script type="application/javascript">
function vyberClanek()
{
var url = document.getElementById("vyber").value;

if (url != 0)
{
if (window.ActiveXObject)
{
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
httpRequest = new XMLHttpRequest();
}
httpRequest.open("GET", url, true);
httpRequest.onreadystatechange= function () {processRequest(); } ;
httpRequest.send(null);
}
else
{

document.getElementById("mistoZobrazeni").innerHTML = "";

}
}

function processRequest()
{
if (httpRequest.readyState == 4)
{
if(httpRequest.status == 200)
{
var mistoZobrazeni = document.getElementById("mistoZobrazeni");
mistoZobrazeni.innerHTML = httpRequest.responseText;
}
else
{
alert("Chyba pri nacitani stanky"+ httpRequest.status +":"+ httpRequest.statusText);
}
}
}      </script>


<h3>Archiv</h3>
<select name="vyber" id="vyber" onchange="vyberClanek();">
<option value="0">Vyberte článek</option>
<option value="clanek1.txt">Článek jedna</option>
<option value="clanek2.txt">Článek dvě</option>
</select>

<div id="mistoZobrazeni">
</div>
_es
Profil
huskye:
Vo Firefoxe ti na základné odhalenie chýb stačí chybová konzola, (Nástroje -> Ch. konzola).
Ja by som základnú štruktúru zmenil:
function vyberClanek() {
  var url, httpRequest;
  /*
  */
  httpRequest.onreadystatechange = processRequest;
  /*
  */
  function processRequest() {
    /*
    */
  }
}

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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