![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 1 Dołączył: 22.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki urywek kodu:
Kod <form> <div id="badania"><div class="otwBadania">Badania</div> <input name="aab1"/> <input name="aab32"/> </div> <div> <input type="button" value="Przelicz" onclick="getData('cena.php', 'sCena', 1)"> </div> </form> troche ajaxa... Kod var XMLHttpRequestObject = false; if (window.XMLHttpRequest){ XMLHttpRequestObject = new XMLHttpRequest(); } else if (window.ActiveXObject){ XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); } function getData(dataSource, divID, cena) { if(XMLHttpRequestObject) { var obj = document.getElementById(divID); XMLHttpRequestObject.open("POST", dataSource); XMLHttpRequestObject.setRequestHeader('Content-type','application/x-www-form-urlencoded'); XMLHttpRequestObject.onreadystatechange = function() { if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { obj.innerHTML = XMLHttpRequestObject.responseText; } } XMLHttpRequestObject.send("cena=" + cena); } } i troszeczke php Kod <?php if($_POST["cena"] == "1"){ include('baza.php'); $cennik= mysql_query("SELECT * FROM cennik") OR die(mysql_error()); $cennik2=mysql_fetch_row($cennik); $cena = 0; echo $_POST['aab1']; for($i=1;$i<101;$i++){ $licz = 'aab'.$i; $poszczCena = 0; if(!empty($_POST[$licz])){ $r= mysql_query("SELECT cena FROM cennik WHERE skrot = '$licz'"); $poszczCena = mysql_fetch_row($r); $cena = $cena + $poszczCena[0]; } } echo $cena; } ?> Pytania brzmia nastepująco: -dlaczego jak probuje przeslac dane metoda post przy uzyciu ajaxa, nie przenosi danych z inputow ktore sa w formularzu? -co trzeba zrobic by ajaxem przeslac dane z inputow lub tylko nazwy inputow bez wartosci? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 27 Dołączył: 24.08.2007 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Przede wszystkim nie wysyła Ci inputów z formularza bo AJAX nic o nich nie wie.
Musisz np. w funkcji swojej getDate() zrobić "odnośniki" do odpowiednich inputów (document.getElementById()), przy czym w Twoich inputach musisz zmienić name na id. I potem najwazniejsze w funkcji getDate, masz użytą metode send(). W niej musisz dopisać (tak jakbyś robił adres url metodą GET) wszystkie parametry, które chcesz wysłać łącząc je znakiem &, tzn.: 'param1=' + wart1 +'¶m2=' wart2... EDIT. Znaczniki <form> są Ci w takiej sytuacji w ogóle nie potrzebne. Ten post edytował Suh 29.07.2009, 15:02:28 -------------------- Pomogłem ? Odwdzięcz się, kliknij POMÓGŁ.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 1 Dołączył: 22.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
dzieki wielkie za wyjasnienie sprobuje sie dostosowac do Twoich uwag;].
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 10:01 |