[jQuery] Re: jQuery form plugin questions
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. // 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'); }); }); Thank you for any help! This is driving me nuts!
[jQuery] Re: jQuery form plugin questions
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. > > > > > // 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'); > > > }); > > }); > > > > > > Thank you for any help! This is driving me nuts!
[jQuery] Re: jQuery form plugin questions
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): author name hereComment text here 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. > > > > > // 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'); > > > }); > > }); > > > > > > Thank you for any help! This is driving me nuts!
[jQuery] Re: jQuery form plugin questions
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: 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): > > > author name hereComment text here > > > 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. > > > > > > > > > // 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'); > > > > > }); > > > > }); > > > > > > > > > > Thank you for any help! This is driving me nuts!
[jQuery] Re: jQuery form plugin questions
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: > > > > 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): > > > > > author name hereComment text here > > > > > 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. > > > > > > > > > > > // 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'); > > > > > > }); > > > > > }); > > > > > > > > > > > > Thank you for any help! This is driving me nuts!
[jQuery] Re: jQuery form plugin questions
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: > > > > 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): > > > > > author name hereComment text here > > > > > 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. > > > > > > > > > > > // 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'); > > > > > > }); > > > > > }); > > > > > > > > > > > > Thank you for any help! This is driving me nuts!
[jQuery] Re: jQuery form plugin questions
I will put together a simple version of that page tonight if that will help. Thanks again! 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: > > > > > > > > > > > > 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): > > > > > > > > > author name hereComment text here > > > > > > > > > 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. > > > > > > > > > > > > > > > // 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'); > > > > > > > > }); > > > > > > > }); > > > > > > > > > > > > > > > > Thank you for any help! This is driving me nuts!
[jQuery] Re: jQuery form plugin questions
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: > > > > > > > > > > > > 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): > > > > > > > > > author name hereComment text here > > > > > > > > > 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. > > > > > > > > > > > > > > > // 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'); > > > > > > > > }); > > > > > > > }); > > > > > > > > > > > > > > > > Thank you for any help! This is driving me nuts!
[jQuery] Re: jQuery form plugin questions
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: > > > > > > > > > > > > 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): > > > > > > > > > author name hereComment text here > > > > > > > > > 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. > > > > > > > >
[jQuery] Re: jQuery form plugin questions
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: > > > > > > > > > > > > > > > > > > > > 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): > > > > > > > > > > > > > author name hereComment text here > > > > > > > > > > > > > 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 forgi