質問編集履歴

1 codeの書き換えを間違えていたため、修正しました。

NagaMind

NagaMind score 15

2018/10/18 17:43  投稿

jquery print() undefindを表示させないようにしたい。
jquery undefinedを表示させないようにしたい。
### 前提・実現したいこと
jquery初心者です。
undefindの表記を表示させないようにしたいのですが、うまく非表示にすることが来ません。![イメージ説明](d9cd1502f68ac92accfc4908e856f8d3.png)
どなたかアドバイスを頂けないでしょうか?
また、この書き方の場合、もっとこう書いたほうがいいなどあれば、ぜひよろしくおねがいします。
jqueryを使って投稿の印刷機能を作ろうとしています。
ボタン一つでポストのようなものを印刷できるようにしています。
印刷ボタンを押すとモーダルが出てきて、ラジオボタンでフレームを選択、選択したフレームにtextを配置し印刷するようにしています。
### 該当のソースコード
```ここに言語名を入力
$(function() {
 $('.print').on('click', function () {
   var one     = $('table td')[1];
   var two     = $('table td')[3];
   var three   = $('table td')[5];
   var four    = $('table td')[7];
   var five    = $('table td')[9];
   var six     = $('table td')[11];
   var text1   = document.getElementById("content");
   var image   = document.getElementById('image');
   var htmldoc = document.body.innerHTML;
   $('button').click(function () {
     var radio = $('input[name="radio"]:checked').val();
     if (radio === 'frameone') {
       frm = '<%= image_tag "00.png", style:"width: 100%;" %>';
     } else if (radio === 'frametwo') {
       frm = '<%= image_tag "01.png", style:"width: 100%;"%>';
     };
     var text2 = "<div class='tdtop'>" + name + "</div>" +
     "<div class='tdcell'>" + date + "</div>" +
     "<div class='tdcell'>" + type + "</div>" +
     "<div class='tdcell'>" + size + "</div>" +
     "<div class='tdcell'>" + place + "</div>" +
     "<div class='tdcell'>" + techniq + "</div>";
     var text2 = "<div class='tdtop'>" + one + "</div>" +
     "<div class='tdcell'>" + two + "</div>" +
     "<div class='tdcell'>" + three + "</div>" +
     "<div class='tdcell'>" + four + "</div>" +
     "<div class='tdcell'>" + five + "</div>" +
     "<div class='tdcell'>" + six + "</div>";
     if ( text == 'undefined' ){
       text == "";
     if ( text2 == 'undefined' ){
       text2 == "";
     };
   window.document.body.innerHTML =
     "<div>" + frm +
     text1.innerHTML + "</strong>" +
     "<div>" + image.innerHTML + "</div>" +
     text2.innerHTML +
     "</div>";
   window.print();
   document.body.innerHTML = htmldoc;
   location.reload();
   });
 });
});
```
### 試したこと
ググってみて、if文で分岐して空の要素(””)を入れるなど試したところ、うまくいきませんでした。
### 補足情報
jquery 1.12.4
Rails 5.1.4
Ruby 2.4.2
Ruby 2.4.2
  • JavaScript

    36481 questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • Ruby on Rails

    18914 questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • jQuery

    13085 questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る