Nieuw lid |
|
Ey Allemaal,
Ik zit met een probleempje.
Ik ben bezig met een winkelwagenscriptje, alleen nu wil ik dat gebruikers het aantal kunnen aanpassen zonder tussenkomst van het drukken op een update knop.
Nu heb ik al een begin gemaakt met AJAX functie alleen nu update hij niet echt de session.
Dit is mijn opbouw van mijn session:
$rand_name= rand(0,999999999);
$_SESSION['winkelwagen'][$rand_name] = array(
'afmeting' => $_POST["afmeting"], 'prijs' => $_POST["prijs"],
'aantal' => $_POST["aantal"], 'elastiek' => $_POST["elastiek"], 'koord' => $_POST["koord"], 'afbeelding' => $_POST["afbeelding"] );
$rand_name= rand(0,999999999); $_SESSION['winkelwagen'][$rand_name] = array( 'afmeting' => $_POST["afmeting"], 'prijs' => $_POST["prijs"], 'aantal' => $_POST["aantal"], 'elastiek' => $_POST["elastiek"], 'koord' => $_POST["koord"], 'afbeelding' => $_POST["afbeelding"] );
Dit is mijn AJAX function:
function createRequestObject() {
var req;
if(window.XMLHttpRequest){
req = new XMLHttpRequest();
} else if(window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert('Problem creating the XMLHttpRequest object');
}
return req;
}
var http = createRequestObject();
function update(key) {
var aantal = document.getElementById('aantal_'+key).value;
http.open('get', 'update.php?aantal='+aantal+'&key='+key, true);
http.onreadystatechange = handleResponse;
http.send(null);
}
function handleResponse() {
if(http.readyState == 4 && http.status == 200){
if(http.responseText) {
document.getElementById("error").innerHTML = http.responseText;
} else {
document.getElementById("error").innerHTML = "error";
}
} else {
document.getElementById("error").innerHTML = "error";
}
}
function createRequestObject() { var req; if(window.XMLHttpRequest){ req = new XMLHttpRequest(); } else if(window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } else { alert('Problem creating the XMLHttpRequest object'); } return req; } var http = createRequestObject(); function update(key) { var aantal = document.getElementById('aantal_'+key).value; http.open('get', 'update.php?aantal='+aantal+'&key='+key, true); http.onreadystatechange = handleResponse; http.send(null); } function handleResponse() { if(http.readyState == 4 && http.status == 200){ if(http.responseText) { document.getElementById("error").innerHTML = http.responseText; } else { document.getElementById("error").innerHTML = "error"; } } else { document.getElementById("error").innerHTML = "error"; } }
Dit is mijn update function:
if($_GET['aantal'] != "" && $_GET['key'] != "")
{
$_SESSION['winkelwagen'][$_GET['key']] = array(
'aantal' => $_GET["aantal"]
);
//print_r ($_SESSION['winkelwagen']);
}
if($_GET['aantal'] != "" && $_GET['key'] != "") { $_SESSION['winkelwagen'][$_GET['key']] = array( 'aantal' => $_GET["aantal"] ); //print_r ($_SESSION['winkelwagen']); }
De function wordt aangeroepen in de onchange function van het input field maar dat is niet echt nodig om hier te posten.
Nu de vraag aan jullie kunnen jullie mij helpen.
Greetz Tuinman
ps sorry voor de lange code post.
|