Jquery ile bir textarea değerini Gönderme

0 Cevap php

Ben okudum ve javascript, jQuery ve php ile bir linux metin dosyasına yazmak için bir (doğru) bir yol arıyorum. Özellikle, jQuery ile bir (# taFile) ($ ("# taFile"). Val () ;) $ ve değerini almak istiyorum. Sırayla bir metin yayınlanmıştır değerini yazar bir php komut dosyası, onu gönderebilir dosya.

Benim kod çoğunlukla çalışır iken, ben bir budak haline çalıştırmak:. Ilanıyla textarea ve $ değeri çekerken, tüm özel karakterler kaybolur. Özellikle, 1) tüm özel karakterleri 2) yeni hatlar bir alana dönüştürülür ve 3) bazı özel karakterler sonra tüm karakterler (Ben bir # ile ne fark ettik) kaybolur, kaybolur.

Bunlar ancak ben herhangi bir gelişme ve önerileri çok açık değilim hala senaryonun kaba taslaklar!

Javascript:

$(document).ready(function() {
 $("input:button").button();
 $("#tabs").tabs();

 $("#tabs").tabs({
  select: function(event, ui) { // When a tab is selected
   file = ui.panel.id;
   console.log("js: file: "+file);
   if (file == "items" || file == "groups" || file == "whitelist" || file == "users"){ // if file is valid
    $("#taFile").remove(); // Remove any old textareas
    $("#"+file).html(''); // Add a new textarea
    $.post("/php/getFile.php?action=read&file="+file, function(data){ // Post with the current file
     $("#taFile").val(data); // Put file into textarea
    });
   }
  }
 });

 $("#btnSubmit").click(function() {
  var newcfg = $("#taFile").val();
  alert(newcfg); // This shows that newcfg preserves the exact value of the textarea
  console.log(newcfg); // As does this.
  $.post("/php/getFile.php?action=write&file="+file+"&newcfg="+newcfg); // This shows new lines (\n ?) as " " (a space) and removes all special characters (! , # ; : etc)
 });
});

PHP:

 $file = $_REQUEST['file'];
 $newcfg = $_REQUEST['newcfg'];
 $action = $_REQUEST['action'];
 $user = 'public';
 $config = "/home/$user/mc/$file.txt";

 if ($action == "read"){
  $oldcfg = file_get_contents($config);
  echo $oldcfg;
 } else if ($action == "write") { #if writing
  $fh = fopen($config, 'w') or die("Cant write to file"); #open file
  fwrite($fh, $newcfg); #write file
  fclose($fh); #close file
 }

Onlar gerçek PHP kodu göstermek değil neden ben php etiketlerini kaldırmak zorunda kaldı. Değil yazısının bazı sekmeleri değiştirirken, ilk dosya okuma için olduğunu. Hepsi gayet iyi çalışıyor.

Teşekkürler!

0 Cevap