質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iframe

HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

INSERT

INSERTとは、行を追加する、コンピュータのデータベース言語SQLにおけるデータ操作言語(DML)ステートメントの1つである

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

667閲覧

Javascript iframe内のTable表の最後尾に1行追加する

maedat

総合スコア4

iframe

HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

INSERT

INSERTとは、行を追加する、コンピュータのデータベース言語SQLにおけるデータ操作言語(DML)ステートメントの1つである

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2023/01/16 05:05

htmlファイルにiframeが1つあり、そのifameの中にTableタグがあります。
ボタンはiframeの外にあります。
そのボタンを押すと、iframe内のTableの最後尾に行を1行追加したいです。

index.html

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4</head> 5 6<body> 7~省略~ 8 9<div class="botton4"> 10 <input type="button" onclick="iframe_test()" id='insert_row' class="botton_size" value="挿入"> 11</div> 12 13~省略~ 14 15 <script> 16 function iframe_test(){ 17 var o_iframe = document.getElementByTagName('iframe'); 18 var table_data = o_iframe.contentWindow.getElementByClassName('editable-table'); 19 var newRow = table_data.insertRow(-1); 20 } 21 </script> 22 23 <div class="iframeBody"> 24 <iframe id="id_iframe" width="100%" height="650px" src="{{ url_for('next_page2')}}";></iframe> 25 </div> 26 </body> 27

↓↓iframeのhtml↓↓

next_page2.html

1 <table border="1" class="editable-table" style="text-align: center;vertical-align:middle;"> 2 <thead> 3 <tr> 4 <th></th> 5 </tr> 6 </thead> 7 <tbody> 8 <tr> 9 <td contenteditable="true"></td> 10 </tr> 11 </tbody> 12 </table> 13

var変数が悪かったりするのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

int32_t

2023/01/16 05:08

ボタンを押したときにブラウザの開発者ツールのコンソールにエラーが出ますか?
maedat

2023/01/16 05:19

next_page:177 Uncaught TypeError: document.getElementByTagName is not a function at iframe_test (next_page:177:29) at HTMLInputElement.onclick (next_page:165:93) iframe_test @ next_page:177 onclick @ next_page:165
int32_t

2023/01/16 05:19

質問文のコードを見る限りエラーが出るはずなので、質問文のコードと試しているコードが一致してない可能性があります。
maedat

2023/01/16 05:19

すみません。出てました。
int32_t

2023/01/16 05:20

おっと、入れ違いでしたね。
int32_t

2023/01/16 05:20

そのエラーの直し方はわかりますか。
maedat

2023/01/16 05:23

わかりません。どのような意味なのでしょうか。
int32_t

2023/01/16 05:40

書いてあるとおり、document.getElementByTagName という関数はない、という意味です。document.getElementsByTagName と書くつもりだったのでしょう。(sが抜けている)
maedat

2023/01/16 05:45

ありがとうございます。
guest

回答1

0

ベストアンサー

javascript

1function iframe_test(){ 2 var o_iframe = document.querySelector('iframe'); 3 var table_data = o_iframe.contentWindow.document.querySelector('.editable-table tbody'); 4 var newRow = table_data.insertRow(-1); 5}

調整

挿入をわかりやすく調整

javascript

1function iframe_test(){ 2 var o_iframe = document.querySelector('iframe'); 3 var table_data = o_iframe.contentWindow.document.querySelector('.editable-table tbody'); 4 var newRow = table_data.insertRow(-1); 5 var newCell=newRow.insertCell(-1); 6 newCell.textContent="test"; 7}

投稿2023/01/16 05:18

編集2023/01/16 05:37
yambejp

総合スコア114775

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maedat

2023/01/16 05:24

エラーは出なくなりましたが、挿入はされていないようです。
maedat

2023/01/16 05:31

たとえば、iframe内のtableにはcssやjsが装飾されておりますが、そちら関係ありますでしょうか。
yambejp

2023/01/16 05:38 編集

いや挿入されていますよね? rowが挿入されているだけで中身が無いので挿入されていないように見えるだけです 追記したコードを参照ください
maedat

2023/01/16 05:41

すみません。おっしゃる通り、<tr>タグが追加されておりました。ありがとうございます。 見えるようにする場合、データなしの<td>タグを追加していけば良いのでしょうか。 また、罫線も追加しなくてはいけなかったりするのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問