私は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とエディタのスクリプトがタグにロードされています。
私は間違っていますか?
あなたはonchangeハンドラでデータを取得しますか? – RamRaider
はい、これは奇妙なことです...私はそれらを行い、その後私が設定したクッキーをログに記録すると、それはヌルと表示されます – BRG
'localhost'を使ってこれをローカルにテストしている場合、クッキーはまったく設定されません。 – Arnauld