?
Onbekende gebruiker
11-04-2018 14:03
Het moest zo .
<?
if (isset($_POST['email'])){
$order = new Order();
$order->set_query("SELECT orders.* FROM orders INNER JOIN users ON orders.user_id = users.id WHERE email = :email AND order_hash = :order_hash", false);
$order->bind('email', $_POST['email']);
$order->bind('order_hash', $_POST['order-hash']);
$gegevens['status'] = $order->fetch();
if($gegevens['status']){
EmailHelper::order_confirmation($order);
}
echo json_encode($gegevens);
}
?>
Nu moet ik de ajax jquery toepassen in mijn formulier.
Dit is de formulier van help/index.tpl.php
<?
<div class="customer-support-questions-wrap customer-support-customer">
<div class="faq-block-resend-tickets">
<h2>Tickets verloren? Geef uw emailadres of ordernummer op en we versturen ze opnieuw</h2>
<form action="/help" name="registration" method="post">
<label class="input-label">E-mailadres</label>
<input type="email" placeholder="E-mailadres" name="email" id="email" class="resend-tickets-input">
<label class="input-label">Ordernummer</label>
<input type="ordernummer" placeholder="Ordernummer" name="order-hash" id="order-hash" class="resend-tickets-input">
<button type="submit" class="green-button icon-button">
<svg style="width:24px;height:24px" viewBox="0 0 24 24">
<path fill="#000000" d="M2,21L23,12L2,3V10L17,12L2,14V21Z"></path>
</svg>
Verzenden
</button>
</form>
</div>
?>
Link gekopieerd
Ik zou toch eens naar Ben zijn advies kijken. Want ik heb het idee dat je nog steeds de plank misslaat!
Link gekopieerd
?
Onbekende gebruiker
11-04-2018 14:27
Ik heb het zelfde gedaan als leren maar het werkt nu niet.
<?
submitHandler: function(form) {
//jquery ajax
$("button").click(function(){
$.ajax({
type:'POST',
url: '/help',
dataType:'json',
data:{"email": $('#email').val() , "order-hash": $('#order-hash').val(),},
success: function(data){
if(data.status){
alert(data["email"] + " " + data["order-hash"]);
}
else{
alert(data["email"] + " " + "You fucked up!");
}
console.log(data);
}});
});
form.submit();
}
?>
Link gekopieerd
Wat gebeurt er wel dan? Met een 'Werkt niet!' kunnen we vrij weinig.
Wees altijd zo specifiek mogelijk.
- Word de AJAX-request wel uitgevoerd?
- Wat meldt je console.log()?
Link gekopieerd
?
Onbekende gebruiker
11-04-2018 14:33
Ik krijg geen alert te zien als ik beide inputs invul en in console.log meld hij ook niks?
Link gekopieerd
Word de AJAX-request wel uitgevoerd?
Kijk eens in je browser bij de Developer Tools/Tab?
Of roep je request die gedaan wordt eens handmatig op?
Link gekopieerd
?
Onbekende gebruiker
11-04-2018 14:48
In mijn developer tools/tab zie ik help bestand staan als ik de inputs invul maar alert komt niet te voor schijn
heb mijn code nu zo.
<?
submitHandler: function(form) {
//jquery ajax
$.ajax({
type:'POST',
url: '/help',
dataType:'json',
data:{"email": $('#email').val() , "order-hash": $('#order-hash').val(),},
success: function(data){
if(data.status){
alert(data["email"] + " " + data["order-hash"]);
}
else{
alert(data["email"] + " " + "You fucked up!");
}
console.log(data);
}});
}
?>
Link gekopieerd
Wat doet het PHP-script nu als je die uitvoert?
In de Developer-tools kan je dit bij de Network-tab eenvoudig bekijken. En anders handmatig uitvoeren.
Zet eens een console.log('AJAX-success'); na lijn 9.
Een kwestie van debuggen wat er wel en niet lukt.
Link gekopieerd
?
Onbekende gebruiker
11-04-2018 15:04
Ik zie in console tab niks als ik de inputs invul en nog steeds geen alert en in network tab zie ik help bestand steeds terecht komen als ik de inputs heb ingevuld en op de knop verzenden klik.
<?
submitHandler: function(form) {
//jquery ajax
$.ajax({
type:'POST',
url: '/help',
dataType:'json',
data:{"email": $('#email').val() , "order-hash": $('#order-hash').val(),},
success: function(data){
console.log('AJAX succes');
if(data.status){
alert(data["email"] + " " + data["order-hash"]);
}
else{
alert(data["email"] + " " + "You fucked up!");
}
console.log(data);
}});
}
?>
Link gekopieerd
Ariën
11-04-2018 15:07
gewijzigd op 11-04-2018 15:08
'AJAX succes' zie je dus ook niet terug?
Dan lijkt je ajax-functie niet te worden uitgevoerd? Kijk eens wat verder, en bekijk eens of de submitHandler wel een console.log() met wat inhoud uitspuugt?
PS: Gebruik a.u.b. leestekens in je berichten hier. Dat leest wat makkelijker.
Link gekopieerd