views:

463

answers:

3

When a user inserts data into a form and then submits it, it goes to my php script and inserts the data. The script will return a value letting the user know if the data was inserted or not. Since I am using JQuery, I have no idea how to do this. Can someone please point me in the right direction? All I'm after here is a nice, neat little 200px by 25px container that will fade in and the user MUST click it to acknowledge it.

Now that I think about it, since users are not the brightest lights in the harbor, it would be really cool if I could not only show then this css box letting them know if the insert was successful but also show them the customer that was inserted in case they forgot where they left off.

Thanks.

+1  A: 

Fading effects can be accomplished by doing one of the following:

jQuery(myDiv).fadeIn()
jQuery(myDiv).fadeOut()
jQuery(myDiv).fadeTo()

I'd recommend you first create this css box - create the html and the css. Then you can experiment with fading - jQuery lets you specify arguments like fade color, fade duration, etc.

Gabriel Florit
+3  A: 
Paolo Bergantino
Thanks for your link. I just looked it over but I still don't see a way to have the window pop up if the server sends back an aknowledgement. Any thoughts? I know that I can pop up a box, heck, I can do that with an alert box but how does one inject data from server side? Thanks.
You would use the code in the success callback of your ajax call. You return JSON from the server, tell jQuery what dataType to expect, and then use the data returned to populate the DIV.
Paolo Bergantino
Hey Paolo, thanks. I'm sorry but I don't understand. I am using JSON to import my database stuff into the textboxes but I'm not sure how to do what your talking about. Is there some sort of a tut that you could point me to that would explain this in detail? I'd sure like to use this.. It would help my users greatly. Thanks for any help you can provide.
nice edit Paolo!
alex
OMG.. Paolo. Thank you man! I didn't expect this. :) Comments and all. I actually thought you guys gave up on me so I left for a bit. Paolo, thank you vety much!
I'm going to see if I can play with this and make it work.
Give up? Never. :) Let me know if you need any more help. If I remember correctly you also had that question about the best jQuery resources so I know how frustrating it is learning this at first. Once you get it going, though, it's really awesome. Good luck.
Paolo Bergantino
Yes, that was me. You have a good memory. :) Thanks so much! If I run into an issue I will be sure to post back and also, if you wouldn't mind, I'd sure like to pick you brain a bit over and above the comments you posted. I mean, they are clear and all but I'd like to know a little more in depth about what they are really doing behind the scenes. BTW: the PHP for me is no problem, its just the javascript stuff thats a bit arcane for me to pick up right now.
I understand. I'm pretty active on this site if you can't tell so I'll usually jump on any question tagged javascript/jquery, but if its something else my email is in my profile and I don't mind answering questions anytime.
Paolo Bergantino
Thanks!! I am working on this now and I am almost through with the php. I can't wait. :D I'm like a kid with a new toy... And.. thank you for the offer to answer a question or two via email. I actually just checked out your site and you have quite a portfolio goin on there. Very nice work my friend!
Haha, thanks. I need to update it with 2009 stuff. It's been a crazy year so far. :)
Paolo Bergantino
lol... If only I had the problem of too much work... I'm glad that you are keeping busy with work. It always seems like the developers that are really good seem to get all the work, and rightfully so. I generally work with server side but this stuff is like magic! I have never seen technology like this before. I mean, way back when, javascript was nothing and now, well, its come a long way.Anyhow, Paolo... I have this thing working. Thank you so much! I have a question that I'd like to ask you about the php side if I could. Should I start a new thread?
Thanks, but I'm not getting all the work JUST YET ;) I'm actually still in school trying to get my stupid degree. I'm kind of lazy when it comes to school, especially because I think I know it all :D I do freelance work on the side to pay the bills until I can graduate and get a formal job hopefully doing this. But yeah, this jQuery's stuff is amazing. Anyhow, you should start a new question if you have anything else not directly related to this.
Paolo Bergantino
+1  A: 

Here is something to work from...

Your PHP script outputs this depending on results

$json = array(
    'success' => $insertSuccess,
    'message' => $numRecords . ' records inserted in ' . $insertTime . 's'
);

echo json_encode($json);

Then, in the callback of your JSON, you determine from parsing the JSON object if the insert was successful or not. Your callback might look something like this

function(data) {

    success = data.insertedSuccess;

    if (success) {
         $('#success').fadeIn(1000);
    } else {
         $('#failure').fadeIn(1000);
    }

}
alex
I'm really racking up these badges boy. :) Thanks for the snippet Alex. Paolo is suggesting something where I can use JSON to echo my server side stuff to a window which would be awsome! I just don't understand what he means. Can you translate?
Yes, you could provide additional info in your JSON that you return like '1 record inserted in 0.01s' or similar.
alex
Hmm.. My JSON just returns an array from the database. Would I just add onto that array?
I'll add some more to the answer
alex
Hey Alex, thanks! Paolo takes this one hands down. :) I truly appriciate your answer too. I think I can use the fadeIn() function in there as well. When you provided a sample of the encoded array, it kind of made sense to me. I feel terrible that I am having to learn to crawl all over again.