2016-07-08 12 views
3

divのコンテナからすべてのHTMLを取り出し、隠しフィールドの値に入れて、同じCSSスタイルを使用しているがtextareasタグを付けずにユーザーに表示します。Javascriptはテキストエリアから変更しないでください

テキストエリアの代わりに、テキストフィールド(テキストエリア)から来た値を表示したいと思います!ここまでは順調ですね!

しかし、私のjavascriptコードのテキストエリアの情報を変更すると、そのフィールドから新しい情報を取得することはありません。

私のコードで何が問題になっていますか?

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Test</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <script src="//code.jquery.com/jquery-1.10.2.min.js"></script> 
    </head> 
    <body> 
     <?php 
     if(isset($_POST['save'])){ 
      $scrita = $_POST['hid']; 
      $scritaInsert = strip_tags($scrita, '<p><n><nz><font><bl><br><r><chh>'); 
      echo $scritaInsert; 
      exit; //just for the test 
     } 
     ?> 
     <form method="POST"> 
      <input type="submit" name="save" class="btn-style" value="Save" id="submitContainer"/> 
      <input type="hidden" name="hid" id="hid"/> 
     </form> 
     <div id="container"> 
      <p style="text-align: center;font-weight: bold;font-size: 23px;color: black;">CocaCola</p> 
      <p style="text-align: center; color: black; font-size:16px; text-decoration: underline;"> 
       The address 
      </p> 

      <p style="font-weight: bold; color: black;"> 
       To: <textarea name="do" style="width: 920px; max-width: 100%; height: 18px;">CocaCola Company</textarea> 
      </p> 

      <p style="font-weight: bold; color: black;"> 
       Attention: <textarea name="vnimanieto" style="width: 830px; max-width: 100%; height: 18px;">CocaCola Company</textarea> 
      </p> 

      <p style="text-align: center;font-weight: bold;font-size: 19px;color: black;"> 
       CONTRACT<br> 
      <n style="text-align: center;font-size: 16px;color: black;"> 
       For transport 
      </n><br> 
      <nz style="text-align: center;">№<textarea name="nomer" style="width: 60px; max-width: 100%; height: 18px;">1737</textarea> 
       Date:<textarea name="date" style="width: 90px; max-width: 100%; height: 18px;" id="date">25.05.2016</textarea> 
      </nz> 
     </p> 
    </div> 
    </body> 
</html> 
<script type="text/javascript"> 
    $('#submitContainer').click(function(){ 
     $('.picker').html(''); 
     var content = $('#container').html(); 
     $('#hid').val(content); 
    }); 
</script> 

答えて

0

html()だけでHTMLタグを含むすべてのテキストをコピーしますが、text()は唯一の本当のテキストをコピーしますので、私は、あなたが方法text()ないhtml()を使用するべきだと思います。

これをチェックアウトするfiddle。私はあなたの問題は、HTMLのタイプかもしれないと思う

+0

HTMLコードをJavaScriptコードでテキストに変更すると、私のCSSスタイルが緩みます。テキストエリアに新しい値を置くと結果は同じになります(コードは新しい値ではなく既存の値をとります) –

+0

私はyを助けますコードを更新してください、私はあなたの問題の仲間を柔らかくすることができますこの時間を願って:) –

0

はスラッシュ:

試してみてください。

String.prototype.stripSlashes = function(){ 
    return this.replace(/\\(.)/mg, "$1"); 
} 

$('#submitContainer').click(function(){ 
    $('.picker').html(''); 
    var content = $('#container').html(); 
    $('#hid').val(content.stripSlashes()); 
}); 
+0

結果は同じです。私がテキストエリアに新しい情報を入れるとき、コードはそれを取ってテキストエリアから古い情報を表示しません –

0

を、私は、次のコードに私のJavaScriptを変更しているし、それが正しく働いている:

<script type="text/javascript"> 
    $('#submitContainer').click(function(){ 
     $('.picker').html(''); 
     $("textarea").each(function() { 
      $(this).text($(this).val()); 
     }); 
     var content = $('#container').html(); 
     $('#hid').val(content); 
    }); 
</script> 
関連する問題