前提・実現したいこと
複数のHTMLファイルを作成しています。
それぞれチェックリストのようなものや結果が表示されており、
条件に応じて最終表示するものを変更しようとしています。
インラインフレームに条件に応じたものを表示させるところまでは来ました。
(子側でjsを読ませ、親フレームのチェック状況に応じてidで判別して表示/非表示変更をしてます)
例:
var TEST1 = window.parent.document.getElementById("r1").checked;
document.getElementById("TEST1").style.display ="none";
ただ、これだとインラインフレーム全てのプリントが出来ません。
やりたい事としては
・5つのインラインフレーム上のHTMLファイル結果を結合
(大元のファイルを結合しても良いのですが、行数が多く厳しい状況です
1,3,5を選択したら、htmlファイル1,3,5を結合して表示等したいと思っています)
・インラインフレーム内のHTMLファイルを全て印刷
現状発生している問題・エラーメッセージ
少し放置しておくとIEが応答なしになります。
印刷画面は開かず、印刷プレビューも真っ白です。
javascript
1oRule.style.top = upTop + "in";
preview.js, 行 1906 文字1
SCRIPT87: 引数が無効です。
preview.jsは私が作ったものではなく、IE?のものだと思います。
現状の該当のソースコード
親側のjavascriptに記載しています。
javascript
1function OnButtonClick() { 2var TEST1= document.getElementById("r1").checked; 3 4 if (TEST1){ 5 var d2 = document.getElementById('RES'); 6 d2.innerHTML=""; 7 var i1 = document.createElement("iframe"); 8 i1.setAttribute("scrolling", "yes"); 9 i1.setAttribute("id","TEST1" ); 10 i1.setAttribute("name","TEST1" ); 11 i1.style.position = "relative"; 12 i1.style.width = "80%"; 13 i1.src = "TEST/TEST1.html"; 14 d2.appendChild(i1); 15 } 16} 17 18function printout(){ 19document.getElementById('TEST1').contentWindow.print(); 20alert("印刷完了したよ"); 21}
試したこと
HTMLの結合方法⇒見つかりません。ソフトが出てきます。
jQueryは使いたくありません。javascriptのみで行いたいです。
【メモ】JavaScriptで外部HTMLを読み込む
http://godan09.hatenablog.com/entry/2015/05/26/152333
javascript
1function HTML_Load(_html,replace){ 2//Httpリクエストを作る 3 var xmlhttp = new XMLHttpRequest(); 4 xmlhttp.open("GET",_html,true); 5 xmlhttp.onreadystatechange = function(){ 6//とれた場合Idにそって入れ替え 7 if(xmlhttp.readyState == 4 && xmlhttp.status==200){ 8 var data = xmlhttp.responseText; 9 var elem = document.getElementById(replace); 10 elem.innerHTML= data; 11 return data; 12 } 13 } 14 xmlhttp.send(null); 15}
これをonclickで利用しようとしてもファイルのアクセスエラーになりますし
(パスは元々インラインフレームに置き換えるときと変えてません)
外部HTMLを読み込み、本htmlファイルに書き込む良い方法はありませんか?
かれこれ3時間検索してますが、上記くらいしか出てこず、試しているうちに1日が終わってしまいそうです。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー