AJAX - auto update na plaatsen bericht

Gestart doorKjeld17 reacties19 weergaven

18 berichten · pagina 1 van 2

Kjeld

Lid · Topicstarter

Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallo allemaal,

ik wil graag dat mijn gastenboek zich automatisch update nadat er een nieuw bericht is geplaatst..
Op een of andere manier krijg ik het niet voor elkaar om de naam mee te sturen, ik denk dat het in de jquery ergens zit bloos
<script type="text/javascript" >
    $(function() {
    $(".comment_button").click(function() {
    
    var test = $("#message").val();
    var dataString = message=+ test;
    
    if(test==)
    {
    alert("Please Enter Some Text");
    }
    else
    {
    $("#flash").show();
    $("#flash").fadeIn(400).html(<img src="ajax-loader.gif" align="absmiddle"> <span class="loading">Loading Comment...</span>);
    
    $.ajax({
    type: "POST",
    url: "plaats_gastenboekbericht.php",
    data: dataString,
    cache: false,
    success: function(html){
    $("#display").after(html);
    document.getElementById(message).value=;
    document.getElementById(message).focus();
    $("#flash").hide();
    }
    });
    } return false;
    });
    });
</script>


Ik probeer het dan vanuit mn formulier zo op te vangen:

$naam = $_POST[name];
    $content = $_POST[message];


De message wordt wel mee doorgestuurd maar de naam niet.. Hierdoor denk ik dat de fout ergens in de jquery zit.. Kan iemand me hier mee helpen? Alles gaat correct behalve de naam wink
Groeten,

Kjeld
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Wat is het nut van dat PHP-code blok om variabelen te kopieeren?
Heb je wel naar de jQuery lib gelinkt, en wat zegt de Error Console?
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
var dataString = message=+ test;

Je post nergens de username?
0
Kjeld

Lid · Topicstarter

Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dat is mijn vraag xD

Hoe doe ik dat?
Ik heb hier niet zoveel verstand van, was al blij dat ik het zover werkend kreeg wink
Ik heb naar de jQuery lib gelinkt inderdaad, want alles werkt enkel de naam wordt niet meegepost bloos
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Gewoon ophalen met $_SESSION[uid] of iets in die trant. Als het goed is wordt de AJAX request gewoon vanuit het IP / de sessie gedaan van de gebruiker.
0
Kjeld

Lid · Topicstarter

Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Namen worden ook ingevuld in het formulier, maar ik weet dus niet hoe die meegestuurd moet worden zoals die var dataString voor het bericht zelf bloos
0
Berichten
18.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
data: dataString vervangen door data: {message: $("#message").val(), name: $("#NAAAMVAKSKUHHIEROOO").val()}
0
Kjeld

Lid · Topicstarter

Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Moet ik hier dan ook nog iets mee doen?

var test = $("#message").val();
var dataString = message=+ test;

Als ik dat weghaal gebeurd er namelijk sowieso niets bloos
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Gebruik ook $.post()

$.post(ajaxbestand.php, {post_variable:waarde}, function(data) {
//data = return data van de ajax
});
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Raaoul schreef:
Gebruik ook $.post()

$.post(ajaxbestand.php, {post_variable:waarde}, function(data) {
//data = return data van de ajax
});
Hoeft niet. post verwijst gewoon naar $.ajax() met als type "POST", zoals hier dus gebruikt wordt.

@ Kjelds vraag:

var test = $("#message").val();
    var dataString = message=+ test;
    
    if(test==)
    {
    alert("Please Enter Some Text");
    }


vervangen met

if($("#message").val()==)
    {
    alert("Please Enter Some Text");
    }
0
Kjeld

Lid · Topicstarter

Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
En dit dan zo toch?

$.ajax({
type: "POST",
url: "plaats_gastenboekbericht.php",
data: {message: $("#message").val(), name: $("#name").val()}


Dan werkt het niet helaas sadley
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Kan je nog eens de volledige ajax(javascript) posten?

En heeft je name-vakje ook het id "name" ?
0
Kjeld

Lid · Topicstarter

Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Mijn name-vakje heeft idd de id name, daar ben ik 100% zeker van.
Nu wordt de message echter ook niet meer gepost bloos
<script type="text/javascript" >
    $(function() {
    $(".comment_button").click(function() {
    
    if($("#message").val()==)
    {
    alert("Please Enter Some Text");
    }
    else
    {
    $("#flash").show();
    $("#flash").fadeIn(500).html(<img src="ajax-loader.gif" align="absmiddle"> <span class="loading">Aan het laden..</span>);
    
    $.ajax({
    type: "POST",
    url: "plaats_gastenboekbericht.php",
    data: {message: $("#message").val(), name: $("#name").val()}
    cache: false,
    success: function(html){
    $("#display").after(html);
    document.getElementById(message).value=;
    document.getElementById(name).value=;
    document.getElementById(message).focus();
    $("#flash").hide();
    $(".slidingDiv").hide();
    }
    });
    } return false;
    });
    });
</script>


die $(".slidingDiv").hide(); heeft hier overigens niets mee te maken wink Dat stukje werkt smile
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Je krijgt dus wel een reactie terug met de message, maar zonder de username?
Echo je die wel goed met $_POST[name] in PHP zodat ie teruggezonden wordt?
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
$.post() is gewoon wat simpeler in gebruik dan ajax en heeft ook meer overzicht waar door de fout misschien wat makkelijker op te lossen valt.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren