autosaving form data with jquery and php -


i quite ok php, total noob jquery, , got stuck autosaving form data.

the autosave function gets called every 30 seconds in dummy.php. i'm sending serialized form data processing (--> database) savetest.php.

at moment, stuck question:

how savetest.php 'listen' incoming data , react it?

at moment, alert 'oh no!' ( = no success) every 30 seconds.

here's shortened sample code:

dummy.php, snippet 1 (html & php):

<head>     <meta http-equiv="content-type" content="text/html; charset=utf-8" />     <script type="text/javascript" src="../../_include/jquery-1.9.1.min.js"></script> </head> <body>     <h1>my form</h1>     <form name="form1" id="form1" method="post" action="<?php echo $_server['php_self'] ?>">          <input type="radio" name="item_2_1" id="c_2_1_0" value="0" />         <input type="radio" name="item_2_1" id="c_2_1_1" value="1" />         <input type="radio" name="item_2_1" id="c_2_1_2" value="2" />         <input type="radio" name="item_2_1" id="c_2_1_3" value="3" />         <input type="checkbox" name="item_3_1[]" id="c_3_1_0" value="yes" />         <input type="checkbox" name="item_3_1[]" id="c_3_1_1" value="no" />         <input type="text" name="item_4_1" id="c_4_1_0" />     </form> 

dummy.php, snippet 2 (jquery):

<script type="text/javascript">     function autosave() {          jquery('form').each(function() {          jquery.ajax({                 url: 'savetest.php',                 data: {                 'autosave' : true,                 'formdata' : jquery(this).serialize()},                 type: 'post',                 success: function(data){                     if(data && data == 'success') {                         alert("ok!");                     }else{                         alert("oh no!");                     }                 }// end successful post function             }); // end jquery ajax call         }); // end setting autosave on every form on page     }// end function autosave()      jquery(function($) {         setinterval(autosave, 30 * 1000);     }); </script> 

and savetest.php:

if (isset($_post)) { var_dump($_post); exit(); } else {     echo 'hi, no $_post.'; } 

unfortunately, still unsuccessful alert... , savetest.php dumping array(0){} :-(

if(isset($_post)):     //processing save autosave else:     //the rest of form code , jquery stuff endif; 

this check if data posted, //rest of data should represent other code generated page not processing.

also, may suggest cleaning data attribute?

data: {     'navigation': 'save',     'autosave' : true,     'formdata' : jquery(this).serialize() } 

then on server side can access normal, $_post['navigation'] , $_post['formdata'] contains array of name=value combinations.

moreover, function should within $(document).ready, or following:

jquery(function($){     //the rest of code }); 

jquery(function($) run $(document).ready , alias $ symbol jquery while within function.

this should cover bases.


Comments

Popular posts from this blog

Detect support for Shoutcast ICY MP3 without navigator.userAgent in Firefox? -

web - SVG not rendering properly in Firefox -

java - JavaFX 2 slider labelFormatter not being used -