Door
Peter Louwer
op 01-12-2014 21:24
gewijzigd op 01-12-2014 21:27
4.861 views
Ik ben nieuw met jquery en ajax, maar wat ik probeer te doen is mijn php script los te laten draaien zonder de pagina te refreshen.
Hier zie je een simpel voorbeeld hoe ik het nu heb :
Volgens mij bedoelt ze als ze op verwijderen/bewerken klikt dat het niet de juiste if functie triggered ?
Als dit het geval dan doe ik altijd print_r($_POST) dan weet ik wat er precies naar de action.php wordt gestuurd.
Aan de hand daarvan pas ik mijn if statement aan.
De IF functie werkt wel ik heb de code paar x doorgelezen, de vraag is hoe ze het laat uitvoeren zonder dat de pagina moet herladen
Misschien kan het beter ben ook maar aan het leren :)
?
Onbekende gebruiker
02-12-2014 14:15
Leuk een vrouwelijke developster!
Ik heb voor een "leerling" van mij een stukje code geschreven die de URL uit de link haalt en zo een POST doet naar een script die iets verwijderd uit de database.
Misschien heb je er iets aan.
$(".verwijder").click(function() {
event.preventDefault();
// Get url from the actual link
var url = $(this).attr('href');
$.ajax({
url: url,
type: 'POST',
success: function(data) {
//called when successful
return true;
},
error: function(e) {
//called when there is an error
return true;
console.log('Fout bij verwijderen');
}
})
});
Verander op regel 36 / 37
<input type="submit" name="add" id="add" value="Add"/>
<input type="submit" name="delete" id="delete" value="Delete"/>
in
<input type="button" name="toevoegen">Toevoegen</button>
<input type="button" name="verwijderen">Verwijderen</button>
Omdat je form tags hebt zal je submit namelijk altijd je formulier versturen. Dit kun je oplossen door :
<input type="submit" name="add" id="add" value="Add" onclick="return false;"/>
<input type="button" name="add" id="add" value="Add"/>
De eerste oplossing zorgt er voor dat je pagina direct na het versturen weer stopt. De tweede zorgd er voor dat het helemaal niet word verstuurd, maar dat alleen de javascript onclick word uitgevoerd
?
Onbekende gebruiker
02-12-2014 14:30
** Ik ben zelf van mening dat als er iets verwijderd ofzo moet worden dat er geen formulieren gebruikt moeten worden maar gewoon <a href="">.
Je kan daarna met JavaScript of Jquery afhandelen welke actie eraan gekoppeld wordt.
Super om te zien hoeveel mensen mij proberen te helpen!
Ik heb Ronalds voorbeeld geprobeerd maar wilt helaas niet werken.
Als ik de print_r($_POST); functie gebruik krijg ik inderdaad de waarden te zien :
"Array ( [team] => team [points] => 13 )"
Maar alsnog kan ik de waarden van de button/submit niet onderscheiden.
Ook de post query in de url te zien ( Dit wil ik graag voorkomen ).
Wat Rickert beschrijft begrijp ik volkomen en zal ook misschien beter zijn voor dit soort simpele functies.
Ook dat wil ik graag vermijden omdat ik queries en url data graag wil verbergen.
Mijn einddoel is uiteindelijk om de action.php al het "check" werk te laten doen met if's en else :d
Jacco's suggestie werkt helaas niet voor mij, misschien omdat ik ook geen idee heb hoe ik dat alsnog kan doorgeven naar de action.php
Het is vervelend omdat ik zo dichtbij ben maar alsnog de "add" en "delete" niet kan vinden/onderscheiden in de action.php
Toch bedankt allemaal voor de suggesties en aandacht, phphulp is awesome!