2016-05-13 6 views
0

私は画像draggableを持っていて、PHPで保存したいので、内部のスタイルを取得して入力フィールドに値として入れましたので、$_POSTで取得できますそれは私がinnerHTML構文を呼び出しを通じてそれを得る可能性があり、内側HTMLデータだろうが、そうのようにそこには、画像のスタイルを取得する任意の方法JavaScriptを使ってCSSスタイルのプロパティを取得する

<div class="scott_img"> 
      <img id="uploadPreview" src="<?php echo (empty($data['profile_pic'])) ? "images/profile.jpg" : "uploads/" . $data['profile_pic']; ?>" style="style goes here"> 
      <span class="scouttag"></span> 

     </div> 
     <form method="POST" action="profile.php?uid=<?php echo $uid; ?>" enctype="multipart/form-data" style="text-align:center;"> 
      <input id="uploadImage" type="file" name="image" style="margin:auto;" /> 
      <input type="hidden" id="x" name="x" /> 
      <input type="hidden" id="y" name="y" /> 
      <input type="hidden" id="w" name="w" /> 
      <input type="hidden" id="h" name="h" /> 
      <input type="hidden" id="uploadPreview1" value="need style here so i can save it to database" /> 
      <button type="submit" name="update_picture" class="btn_form">Update Picture</button> 
     </form> 

     <img class="scott_line"src="images/line.png"> 

     <script> 
      (function() { 
       var elem = document.getElementById('uploadPreview'); 
       var val = getComputedStyle(elem); 
       document.getElementById('uploadPreview1').value = val; 
       var $section = $('.scott_img').first(); 
       $section.find('#uploadPreview').panzoom({ 
       $zoomRange: $section.find(".zoom-range"), 
       $reset: $section.find(".reset") 
       }); 
      })(); 
      </script>  

があるため

+0

'getComputedStyle(elem)'は何を返しますか? –

+0

値= "[オブジェクトCSSStyleDeclaration]" –

答えて

0

ありがとうの場合のように見つけることができませんCssの価値はあなたがそれを取得する必要がある入力にあります:

次に、あなたのJavaスクリプトで、Cssルールを追加します。

X.style.width = Y; 
Or div.style.color = "#ccc"; 

あなたは私がどのように、なぜあなたはこのサーバー側を使用しようとしているわからないんだけど、あなたがそれを行うには正しいことだと考えている場合は、単に文字列化ポイント

+0

var elem = document.getElementById( 'uploadPreview')。value;私は返信で未定義になった –

+0

UploadPreviewはイメージのIDです。あなたはCssスタイル値で入力ボックスのIDを取得する必要があります。上のurコードによれば、隠されたフィールドはそれです –

+0

これは私が変換したいスタイルです:matrix(2、0、0、1、-90,7);バックフェイス - 可視性:非表示;変換元:50%50%0px;カーソル:移動;移行:なし; –

1

を得るホープJSONオブジェクト:

var val = JSON.stringify(getComputedStyle(elem)); 
+0

スタイルプロパティとスタイルは次のとおりですstyle = "transform:matrix(2、0、0、1、-2、25); backface-visibility:hidden;原点:50%50%0ピクセル;カーソル:移動;遷移:なし;私はアニメーションなどのようなものを持っています –

+0

それから私は得ることができる他の方法があります私はそれがイメージuisが私はユーザーのイメージを表示するスタイルを保存する必要がアップロードされるので、スタイルを取得する私は画像ドラッグ可能なjqueryを配置しているので私はやっている –

+0

それは単純な画像よりもはるかに複雑です。それは私に[html2canvas](http://html2canvas.hertzenのようなもの)を見ます。com)は、画面のその部分からスクリーンショットを撮るのに役立ちます。 –

2

あなたは要素スタイルタグ(インラインCSS)

を取得する場合210
var a = document.getElementById('uploadPreview'); 
    var b= a.getAttribute('style'); 
    alert(b); 

あなたはあなたがそうのようなJSONにJSで要素のCSSスタイルを取得し、それを変換することができ

var element = document.getElementById('uploadPreview'), 
    style = window.getComputedStyle(element), 
    top = style.getPropertyValue('top'); 
+0

最初に私はnullを取得しています、そして、2番目のポイントは値を得るだけです。これらのスタイルが必要です。 –

+0

transform:matrix(2、0、0、1、-90,7);バックフェイス - 可視性:非表示;変換元:50%50%0px;カーソル:移動;移行:なし; –

0

要素のCSS取得する場合:

var elementCSS = JSON.stringify(document.getElementById('uploadPreview').style)

0

に」単純なjQueryを使って以下のようなスタイル値を取得しますか?

var imgstyle = $("#uploadPreview").attr("style"); //this will get your whole value of style attribute. 
$("#uploadPreview1").val(imgstyle); //this will update hidden field's value. 

アップロードごとに異なるようにも見えます。だから、上記のコードをあなたのドラッグ可能なファイルまたはファイルuplaodの変更イベントの中に置くことができます。

関連する問題