2012-07-23 71 views
0

在這裏,我創建了一個得到CSS的顏色和用CSS彩色背景創建元素的jQuery函數:Edit my jsFiddle如何使用php編輯jquery後保存文件?

HTML

<div ID="wrapper"> 
    <div ID="addColor"> 
     <input type="text" ID="hex"> 
     <div ID="color">Your color</div> 
     <button ID="add">Add color</button> 
    <div CLASS="clear"></div> <!-- Clear float --> 
    </div> 

    <div ID="wrapGallery"> 
     <h1>My Color Gallery</h1> 
     <ul ID="gallery"></ul> 
    </div> 
</div> 

JS/jQuery的

$(function() { 
    //float left with some margin 
    $('#addColor') 
     .children().not('#add, .clear').css({ 
     'float':'left', 
     'margin-right': '5px' 
     }); 

    //Showing color on keyup 
    $('#hex').keyup(function() { 
     var hexCode = $(this).val(); 
     $('#color').css('background-color', hexCode); 

     if (hexCode !== '') { 
      $('#color').text(''); 
     }else{ 
      $('#color').text('Your color'); 
     } 

    }); 

    //Adding colors 
    $gallery = $('#gallery'); 

    $('#add').click(function() { 

     var storedHex = $('#hex').val(); 
     //check if empty 
     if (storedHex == '') { 
      alert('Enter something');   
     } 
     else { 
     //adding li 
     $("<li>").css('background-color', storedHex) 
       .hover(
        function() { 
        $(this).text(storedHex); 
        }, 
        function() { 
        $(this).text(''); 
        })      
       .appendTo($gallery); 
     } 
    }); 
}); 

唯一我需要做的是將創建的元素永久保存在文件中,這樣我就可以隨時訪問。我不知道該怎麼做。

+0

保存它們永久什麼文件? – 2012-07-23 03:44:48

+0

@DavidStetler我嘗試使用窗體傳遞值並回顯該變量,但是您知道如何將該新變量永久保存在同一個文件或任何其他方式? – PhoxKiD 2012-07-23 05:23:49

回答

2

閱讀JQuery Ajax函數並閱讀有關JSON對象。

隨着AJAX和JQuery,你可以輕鬆地發送JSON對象到你的服務器,像這樣:

function saveElements(myJsonObj) { 
    $.ajax({ 
    method: "POST", 
    dataType: "json", 
    url: "path/to/savemyobject.php", 
    data: {json:myJsonObj} 
    }); 
} 

一個JSON文件可能是這個樣子:

{ "myData": 
    { 
    "some_text":"this could be the CSS code", 
    "name":"some name", 
    "number":"some number" 
    } 
} 

您可以生成一個JSON字符串表示一個JSON對象並將其發送到一個帶有Ajax函數的PHP文件(如上所述)。

在PHP中,你會做到這一點,得到目標:

<?php 
$json_string = $_POST["json"]; //the same variable key we sent it in 
$json_obj = json_decode($json_string, true); 
// get data 
$myDataCode = $json_obj["myData"]["some_text"]; 
// do some processing 
... 
?> 

你也可以轉換成PHP數組使用PHP json_encode函數JSON對象。

瞭解更多:
http://www.w3schools.com/json/default.asp
http://php.net/manual/en/function.json-decode.php
http://php.net/manual/en/function.json-encode.php
http://api.jquery.com/jQuery.ajax/

+0

如果我傳遞變量並且想要保存文件,該怎麼辦? – PhoxKiD 2012-07-23 05:24:51

+0

'data:{json:myJsonObj,variable:「another var」}'但我不明白爲什麼你不能只用JSON對象拋出變量@PhoxKiD – Ozzy 2012-07-26 20:45:08

+0

我只是想知道我是全新的PHP。和thnx! – PhoxKiD 2012-07-27 07:50:28

3

目前,Javascript(在瀏覽器中)無法編輯/保存您想要的文件。但是,您可以使用.ajax()將數據發送回PHP文件,以便PHP文件可以使用file_put_contents()保存它(儘管它通常會將其保存在數據庫中)。