2016-07-22 16 views
2

私はACE Editorを使用して構文の強調表示を行うテキストエリアを使用しています。私はエディタonchangeから価値を得る。次に、値をクッキーに設定してから、PHPでクッキーを取得したいのですが、常にnullになります。JavascriptでCookieを設定すると、値が存在する間に未定義が返されます。

マイコード:

<form method="post"> 
     <div class="form-group"> 
      <div class="col-lg-2"> 
       <label for="comment">Translation:</label> 
      </div> 
      <div class="col-lg-10"> 
       <textarea class="form-control" rows="15" id="translation" name="editor_data"><?=$file;?></textarea> 
       <input type="hidden" name="komutdosyasi" style="display: none;"> 
      </div> 
      <br/> 
      <div class="col-lg-12"> 
       <button class="btn btn-primary btn-md pull-right" name="save">Save</button> 
      </div> 
     </div> 
    </form> 

とJavaScriptコード:

<script> 
     var editor = ace.edit("translation"); 
     editor.setTheme("ace/theme/twilight"); 
     editor.session.setMode("ace/mode/php"); 
     editor.resize(); 
     editor.setOptions({ 
      maxLines: 35 
     }); 
     editor.on("change", function() { 
      var value = editor.getSession().getValue(); 
      var v = setCookie('editor_data', value); 
      var x = getCookie('editor_data'); 
      console.log('Cookie: ' + x); 
     }); 

     function setCookie(cname, cvalue) { 
      document.cookie = cname + "=" + cvalue + "; "; 
     } 

     function getCookie(cname) { 
      var name = cname + "="; 
      var ca = document.cookie.split(';'); 
      for(var i = 0; i <ca.length; i++) { 
       var c = ca[i]; 
       while (c.charAt(0)==' ') { 
        c = c.substring(1); 
       } 
       if (c.indexOf(name) == 0) { 
        return c.substring(name.length,c.length); 
       } 
      } 
      return ""; 
     } 
    </script> 

すべてのjQueryとエディタのスクリプトがタグにロードされています。

私は間違っていますか?

+0

あなたはonchangeハンドラでデータを取得しますか? – RamRaider

+0

はい、これは奇妙なことです...私はそれらを行い、その後私が設定したクッキーをログに記録すると、それはヌルと表示されます – BRG

+0

'localhost'を使ってこれをローカルにテストしている場合、クッキーはまったく設定されません。 – Arnauld

答えて

1

ストレージに問題がある可能性があります。より速く、より多くのデータを保持できるので、クッキーの代わりにローカルストレージを使用してみてください。クライアント側からデータにアクセスする必要がある場合にのみ、これを実行します。

このWebページでは、非常に良い情報を持っている:http://www.w3schools.com/html/html5_webstorage.asp

は、この情報がお役に立てば幸いです。

+0

ローカルストレージは役に立ちません。これは私が$ _COOKIEとしてPHPから取得できるためです。だから私はPHPに投稿するためにajaxを使用 – BRG

+0

私たちはPHPコードを持つことができますか?私はあなたのコードをテストします。 – Dastur

関連する問題