ugrás a tartalomhoz

Ajax - Form átküldése

csempe · 2012. Aug. 2. (Cs), 12.21
Üdvözletem.

Lehet, hogy már volt ilyen téma, kerestem nem találtam, ha még is, akkor elnézést.
Előre szólok nem nagyon értek az ajax-hoz és erős a gyanúm, hogy nem is lehetséges amit szeretnék, de azért biztos ami tuti megkérdezem.

Szóval olyan érdekelne, hogy van-e lehetőség arra, hogy az egész formot átküldjem ajax-on keresztül vagy egyenként kell az elemeket átküldeni?

Már próbálkoztam, idáig jutottam:

index.php

<!DOCTYPE html>
<html>
<head>
	<script type="text/javascript">
		function ajax(x){
			var xmlhttp;
			if (window.XMLHttpRequest){
				xmlhttp=new XMLHttpRequest();
			}
			else{
				xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			xmlhttp.onreadystatechange=function(){
				if (xmlhttp.readyState==4 && xmlhttp.status==200){
					document.getElementById("newDiv").innerHTML=xmlhttp.responseText;
				}
			}
			xmlhttp.open("POST","ajax.php",true);
			xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
			xmlhttp.send("new="+x);
		}
	</script>
</head>
<body>
	<form id="newForm">
		<input type="text" name="name" /><br />
		<input type="text" name="tel" /><br />
		<input type="button" value="Mehet" onClick="ajax(this.form)" />
	</form>
	<div id="newDiv">
	
	</div>
</body>
ajax.php

<?php

var_dump($_POST['new']);

?>
 
1

ha nem gond, hogy be kell

asam9 · 2012. Aug. 2. (Cs), 12.40
ha nem gond, hogy be kell húznod a jquery-t, akkor:

http://api.jquery.com/jQuery.ajax/
http://api.jquery.com/serialize/

a szerializálás, amit keresel.
5

Igen

csempe · 2012. Aug. 2. (Cs), 14.47
Gondoltam már rá, csak nem nagyon akartam belemélyedni, de akkor lehet, hogy az lesz...vagy marad az, hogy egyenként. Köszi szépen! :)
2

Lehet, hogy már volt ilyen

Hidvégi Gábor · 2012. Aug. 2. (Cs), 13.07
Lehet, hogy már volt ilyen téma, kerestem nem találtam
Azért annyira nem vitted túlzásba a keresést, az aktív fórumtémák között kettő pont az AJAX-szal foglalkozott.

erős a gyanúm, hogy nem is lehetséges amit szeretnék
Hány AJAX tutorialt olvastál? Mit mondanak a Mozilla/Microsoft stb. referenciái?
4

Igen, Ajax

csempe · 2012. Aug. 2. (Cs), 14.43
Elolvastad a kérdésem?...egy rakás ajaxal foglalkozó témát találtam, csak pont arra nem válaszolnak, amit kerestem, vagy ha válaszolnak is, nem konkrétan az én problémámra és ajax tudás híján, nem tudtam értelmezni ezeket. Kösz a választ...
6

Szívesen

Hidvégi Gábor · 2012. Aug. 2. (Cs), 15.14
Ha vetted volna a fáradságot, hogy utánajárj, mi az AJAX, hogyan működik, akkor fel sem merült volna a kérdés. Az internet tele van angol, magyar leírásokkal, nem értem a témafelvetést. Mivel nem egy túlságosan bonyolult dolog, mire megírtad a postot, meg is érthetted volna.
3

Összegyűjtöd

Poetro · 2012. Aug. 2. (Cs), 14.24
Összegyűjtöd a form elemeket, építesz belőle egy query stringet, és azt küldöd el.
7

Ha képben vagy avval

Karvaly84 · 2012. Aug. 3. (P), 01.42
Ha képben vagy avval kapcsolatban, hogy amikor elküldesz egy űrlapot mi történik, könnyen rájöhetnél, hogy az AJAX-al ugyanazt meg lehet oldani.

Arra kel figyelni, hogy működjön AJAX nélkül is az űrlap. Ha az űrlap, célszerű az "onsubmit" eseményre kötni egy olyan függvényt ami feldolgozza az űrlap mezőit, és POST, vagy GET módszerrel elküldi.

az
<input type="button" value="Mehet" onClick="ajax(this.form)" />
azért nem jó mert csak JavaScript mellet működik, egyébként meg nem küldi el az űrlapot. Én
<input type="submit" value="Mehet" />
formát alkalmaznám, és az űrlap "onsubmit" eseményét kezelném le, megállítva az alapértelmezett működést, és AJAX-al operálni az eseménykezelőben.

Itt olyan probléma merülhet még fel, hogy JavaScript nélkül vissza kapsz egy komplett oldalt, viszont AJAX-nál általában csak egy részletet vár az ember, amit beilleszt valahova az oldalon. Erre fel kel készülni, pl. AJAX kéréshez hozzá csaphatsz egy új paramétert az URL-hez, ami jelzi a feldolgozónak, hogy AJAX kérés történt és nem egy komplett oldalt küld vissza.
8

Köszönöm

csempe · 2012. Aug. 3. (P), 13.24
Asszem értem értem, megpróbálkozom vele, köszönöm.