Replace // ? with:

$(function(){ // 1
  $("form").submit(function(){ // 2
    var value = $(this).find("input[name=test]").val(); // 3
    $.post("/test/ajax/record/",{"test":value},function(){ // 4
      alert("Message sent successfully!"); // 5
    });
    return false; // 6
  });
});

Notes for each line:

1. $(function(){}) is short hand for $(document).ready(function(){}), this
means your javascript won't run until the entire document is loaded, check
out:

http://docs.jquery.com/Events/ready

2. We bind a function to execute when our form is being submitted:

$("form") finds all of the <form> elements on the page (there is only one
right now)
$("form").submit() binds a function to the submit event of the form (what
takes place when you click the submit button), see:

http://docs.jquery.com/Events/submit#fn

3. When a function is bound to a select set ($("form") =>
$("form").submit()), the "this" keyword is automatically set to the element
we are currently with, so rather than writing $("form") again, we can simply
refer to $(this), see:

...the 'this' keyword points to the specific DOM element...

http://docs.jquery.com/Core/each

4. The $.post function has three parameters:
a. The URL target for the post
b. Variables to be sent to server: {"var":"value"} (Accessible in PHP using
$_POST['var'])
c. A callback function  to be executed when the AJAX message successfully
sends and receives a response, see:

http://docs.jquery.com/Ajax/jQuery.post#urldatacallback

5. A JavaScript popup for succesful completion.

6. return false to prevent the form from actually submitting, which would
take us away from the current page, see:

http://docs.jquery.com/Events_(Guide)#event.stopPropagation.28__.29

So, that, in a nutshell is how to do Ajax with jQuery without a plugin.
There is a lot of other stuff thrown in, so definitely check out the
resources before embarking on your AJAX trip and learn all the things jQuery
can do.

- jake






On Dec 20, 2007 1:49 PM, jjshell <[EMAIL PROTECTED]> wrote:

>
> Hello,
> I'm new to jQuery (and AJAX for that matter). Even if the library is
> really easy to use, I'm still having problems "ajaxing".
>
> I'd like to understand how to post the following simple form to the
> server, and send a message to the client depending on the submission
> process output (telling him if what he submitted is ok or not).
>
> Would someone be kind enough to guide me through the steps?
>
> Here's the HTML bit. I am going to use jQuery with the Zend Framework
> (PHP).
>
>  <html>
>  <head>
>    <script type="text/javascript" src="jquery-1.2.1.js"></script>
>    <script type="text/javascript">
>
> //?
>
>    </script>
>
>  </head>
>  <body>
>
>  <form action="/test/ajax/record/" method="post">
>
>    <input type="text" name="test" value="" />
>    <input type="submit" name="ajax" value="save" />
>
>  </form>
>
>  </body>
>  </html>
>

Reply via email to