Mike thank you so much! That works perfectly, I was able to figure out how to use both methods. I went for the one you suggested, but its nice to know how to do both. This was my biggest hurdle to overcome in learning ajax, I most definitely owe you a six pack! Thanks again! -Chris
On Jul 16, 5:44 pm, "Mike Alsup" <[EMAIL PROTECTED]> wrote: > Chris, > > You can do one of two things: > > 1) When the form is submitted return the new comment. In other > words, when the new comment is posted, return what you would return > from your newcomments.php script. If you do that, your javascript > would look something like this: > > $(document).ready(function() { > $('#myForm').ajaxForm(function(newcomment) { > $('#thankyou').show('slow'); > $('#newcomment').hide('fast'); > $('#comments h1').after(newcomment); > }); > > }); > > Note that the callback function is passed the server response so if > your comment.php script returns the new comment everything will fall > nicely into place. This would be my preferred method since it > requires only a single round trip to the server. > > 2) You can use $.get like you're attempting to do now, but you need > to handle the response. Your $.get call is working, you're just not > doing anything with the response. Try something like this: > > $(document).ready(function() { > $('#myForm').ajaxForm(function() { > $('#thankyou').show('slow'); > $('#newcomment').hide('fast'); > $.get('newcomments.php', function(newcomment) { > $('#comments h1').after(newcomment); > }); > }); > > }); > > Again, note that the callback is passed the server response (the new comment). > > Hope this helps! > > Mike > > On 7/16/07, Chris <[EMAIL PROTECTED]> wrote: > > > > > Thank you for the help mike, I really appreciate it! > > Try making a comment on our blog. > >http://www.iphoneappr.com/index.php?post=55 > > I am trying to make it so that the comment, once submitted, shows up > > in the list of comments. > > Thank you! > > > On Jul 16, 3:22 pm, "Mike Alsup" <[EMAIL PROTECTED]> wrote: > > > Chris, > > > > Can you put together a simplified example page. I feel like I'm only > > > getting part of the picture. > > > > Mike > > > > On 7/16/07, Chris <[EMAIL PROTECTED]> wrote: > > > > > Any ideas? > > > > > On Jul 15, 12:07 pm, Chris <[EMAIL PROTECTED]> wrote: > > > > > Thank you for the reply mike! I added this to my script: > > > > > $(document).ready(function() { > > > > > // bind 'myForm' and provide a simple callback function > > > > > $('#myForm').ajaxForm(function() { > > > > > $('#thankyou').show('slow'); > > > > > $('#newcomment').hide('fast'); > > > > > $('#newestcomment').show('slow'); > > > > > > }); > > > > > }); > > > > > > and did this with the div: > > > > > <div id="newestcomment" style="display:none;"> > > > > > <a href="#"><? echo $_POST["name"]; ?></a><? echo $_POST["comment"]; ? > > > > > > </div> > > > > > It did not seem to pull the data from post, but it does add another > > > > > space for a comment. The way my form is processed is it send the post > > > > > info to comment.php and that adds it to the database. How do i have > > > > > the jquery talk to the php. I tried using a get from an external php > > > > > page that pulls the latest comment from the database but I didn't know > > > > > where to go after that. > > > > > Thank you! > > > > > -Chris > > > > > > On Jul 15, 6:06 am, "Mike Alsup" <[EMAIL PROTECTED]> wrote: > > > > > > > Sorry, I'm meant the formatted *comment*. When a comment is posted, > > > > > > return something like this from the server (filling in the correct > > > > > > info as appropriate): > > > > > > > <div class="oddcomment"> > > > > > > <p><a href="#">author name here</a></p><p>Comment text here</p> > > > > > > </div> > > > > > > > Mike > > > > > > > On 7/15/07, Chris <[EMAIL PROTECTED]> wrote: > > > > > > > > Thank you for the reply mike, > > > > > > > Unfortunately I don't understand how I could use this? What is > > > > > > > the > > > > > > > formatted column? I think i understand that you would be running > > > > > > > this > > > > > > > code $('#comments h1') after the (data) for the form is complete. > > > > > > > > On Jul 13, 4:17 am, "Mike Alsup" <[EMAIL PROTECTED]> wrote: > > > > > > > > Chris, > > > > > > > > > Why don't you return the formatted column when it is posted. > > > > > > > > Then you > > > > > > > > could do something like this: > > > > > > > > > $(document).ready(function() { > > > > > > > > $('#myForm').ajaxForm(function(data) { > > > > > > > > $('#thankyou').show('slow'); > > > > > > > > $('newcomment').hide(); > > > > > > > > $('#comments h1').after(data); > > > > > > > > }); > > > > > > > > > }); > > > > > > > > > Mike > > > > > > > > > On 7/13/07, Chris <[EMAIL PROTECTED]> wrote: > > > > > > > > > > Hello everyone, > > > > > > > > > I'm a bit of a noob to this whole AJAX thing so you'll have > > > > > > > > > to forgive > > > > > > > > > me. I've setup a blog, using jQuery the comments are added > > > > > > > > > to mysql > > > > > > > > > using this form plugin > > > > > > > > > (http://www.malsup.com/jquery/form/#getting- > > > > > > > > > started). Posting the comments work great, I was even able > > > > > > > > > to add in > > > > > > > > > a confirmation saying "Thank you for posting". My dilemma is > > > > > > > > > showing > > > > > > > > > the new comment on the page without refreshing. Here is the > > > > > > > > > page to > > > > > > > > > test it: (http://www.iphoneappr.com/index.php?post=48). I was > > > > > > > > > thinking I could do a $.get to an external php page that > > > > > > > > > queries > > > > > > > > > mysql with the most current post and put it in a specific div > > > > > > > > > on the > > > > > > > > > page. > > > > > > > > > Here is the function for the form. > > > > > > > > > > <script type="text/javascript"> > > > > > > > > > // wait for the DOM to be loaded > > > > > > > > > $(document).ready(function() { > > > > > > > > > // bind 'myForm' and provide a simple callback > > > > > > > > > function > > > > > > > > > $('#myForm').ajaxForm(function() { > > > > > > > > > $('#thankyou').show('slow'); > > > > > > > > > $('#newcomment').hide('fast'); > > > > > > > > > > }); > > > > > > > > > }); > > > > > > > > > > </script> > > > > > > > > > > Thank you for any help! This is driving me nuts!!!!!