2011-12-29 18 views
0

現在、クライアントのオンライン広告サイトで作業していますが、大きな問題があります。 私はこのような広告投稿のためのシステムを持っているので、ユーザーはページに行き、3つのドロップダウンメニューから選択を開始し、正確な場所を入力ボックスにフォローアップします。しかし、ユーザータイプとして、私は彼らがクッキーに入力しているものを自動保存したい...しかし、私はクッキーデータを置き換えるためにのみ情報が必要な場合は、他の賢明な他の賢明な...今何かエラーや何かを投げていないjquery ajax php自動保存機能

<? 
if(isset($_COOKIE['adContent'])){ 
    $AD = explode('/',$_COOKIE['adContent']); 
    //print_r($AD); 
} 
if(isset($_COOKIE[md5('UniqueAdId')])){ 

}else{ 
$path = "/"; 
$expire = time() + 7200; 
$r = time().'+'.rand().'+'.$_COOKIE[md5('id')]; 
setcookie(md5('UniqueAdId'),$r,$expire,$path); 
} 
?> 
<form id="post-ad" style="position:relative;" enctype="multipart/form-data"> 
    <fieldset> 
    <legend>Select Ad Location</legend> 
    <table> 
    <tr><td><select id="state" name="state"><option value="" disabled>State</option><? states(); ?></select></td></tr> 
    <tr><td><select id="city" name="city" style="display:none"><option value="" disabled>Select a state first</option></select></td></tr> 
    <tr><td><input id="area" type="text" name="area" value="Select a city first" style="display:none; width:200px;"></td></tr> 
    <tr><td><button id="mothn" style="display:none;">Next</button></td></tr> 
    </table> 
    </fieldset> 
    <input id="Apart" type="hidden" value="<? echo md5(1); ?>" /> 
</form> 

のjQuery:しかし、私はそれを HTMLマークアップを交換するうちに更新するために、コンテンツを取得カント

<script> 
$('button').button(); 

$('#mothn').click(function(event){ 
    event.preventDefault(); 
    var part = $('#Apart').val(); 
    $('pload').html('<img src="source/image/lbl.gif">'); 
    var formdata = 'why=paa&p='+part+'&'+$('#post-ad').serialize(); 
    $.post('source/php/bots/functions/quickie.php',formdata,function(data){ 
      $('form').html(data); 
      $('pload').html(''); 
     }); 
}); 
$('#post-ad fieldset select').change(function(e) { 
    var id = $(this).attr('id'); 
    switch(id){ 
     case 'state': 
      var state = $('#'+id).val(); 
      get_citys(state); 
     break; 
     case 'city': 
      $('#area').val('Area (Optional)').slideDown(); 
     break; 
     case 'area': 
      $('##post_ad2').slideDown(); 
     break; 

    } 

}); 
$('#area').keypress(function(){ 
    $('#mothn').slideDown(); 
    var formdata = 'why=as&'+$('#post-ad').serialize(); 
    $.post('source/php/bots/functions/quickie.php',formdata,function(data){ 
     // just stores current form into a cookie for saving purposes 
     }); 
    }); 
function get_citys(state){ 
    var data = "why=gc&s="+state; 
    $.post('source/php/bots/functions/quickie.php',data,function(data){ 
     $('#city').html(data).slideDown(); 

    }); 


} 
</script> 

PHPスクリプト:あなただけ

case 'as': 
     // auto save 
     if(isset($_COOKIE['adContent'])){ 
      //$more = $_COOKIE['adContent'].'/'; 
      $cont = explode('/',$_COOKIE['adContent']); 
      print_r($cont); 
     echo "<br>"; 
      foreach($cont as $x){ 
       foreach($_POST as $key=>$p){ 
        if($x == $p){ 
         unset($_POST[$key]); 
        }else{ 
        $cont[$key] = $_POST[$key]; 
        } 
       } 
      } 
      $put = implode('/',$cont); 
     print_r($cont); 
     }else{ 
     $more = implode('/',$_POST); 
     $path = "/"; 
     $expire = time() + 7200; 
     setcookie('adContent',$more,$expire,$path); 
     } 


    break; 

答えて

0

を見ているのされている場合gはフォームの詳細を保存するクライアント側はこのようなプラグインを試してみてください。

http://rikrikrik.com/jquery/autosave/

PHPは何もする必要なし、ただjqueryの特定の条件

にフォームを復元しています