
javascript初心者ですが、あれこれ悩みながらselect(仮にA)、radio(B)、radio(C)から取得したnameに".html"を足すことで、差し替えたいURLを形成することができました。
A,B,Cの選択を A_B_C.html という形にして それをwindow.open または locationで表示することまではできたのですが、インラインフレームの中にそのURLを表示させたりURLの差し替えをすることができません。
長い間悩みましたが解決できず困っています。
方法をご存知の方がいらっしゃいましたら、ご教授よろしくお願いいたします。
<script type="text/javascript">
<!--
//カラーの取得
function getRadio(colNo){
var col = '';
for(var i = 0; i < colNo.length; i++){
if (colNo[i].checked){
col = colNo[i].value;
break;
}
}
return col;
}
//柄の取得
function getGara(garaNo){
var gara = '';
for(var j = 0; j < garaNo.length; j++){
if (garaNo[j].checked){
gara = garaNo[j].value;
break;
}
}
return gara;
}
function show(url){
var size =document.fm.size.value;
var col = document.fm.col;
var gara = document.fm.gara;
var src = "shohin/";
var url;
var tourl = (src + size + "_" + getRadio(col) + "_" + getGara(gara));
var ifr = document.getElementById("s-box");
if(size==""||col==""||gara==""){
var url = (src+"annai.html");
}
else{
var url = (tourl + ".html");}
ifr.location = url;
}
//-->
</script>
-----------bodyの中--------
<form name="fm"
<select name="size"
<input type="radio" name="col"
<input type="radio" name="gara"
中略
<iframe name="s-box" src=""></iframe>
<input type="button" value="組合せを見る" onClick="show(url)" /></form>
No.2ベストアンサー
- 回答日時:
iframeのソースを変更するなら、
iframe.location=url;
ではなく、
iframe.src=url;
ですよ。
この回答への補足
iframeにボタンクリックでURL表示できました。ご回答に感謝します!
実際にはボタンアクションなしで選択条件に見合うURL表示を目指しています。
また試行錯誤して 質問させていただくかも知れません。 よろしくお願いします。
ヒントくださる方がいらしたら有難いです(汗)
No.1
- 回答日時:
× <iframe name="s-box" src="">
○ <iframe id="s-box" src="">
JavaScriptの getElementById() は「id名」でHTML要素を取得する関数。name属性は取れません。
どうしてもname属性を使う必要があるのなら、getElementsByName() の方を使ってください。その場合は取得したname属性要素は「リスト化(配列)」されて戻るので注意。
この回答への補足
nameとIDの間違い、ご指摘ありがとうございます。
iframeをIDに訂正しました。
残念ながらインラインフレームに何も表示されずエラーになるのですが
ifr.location = url;
の部分が間違っているのでしょうか?
location.href(url); なら、そのページがURL切り替わります。
window.open(url); なら、別windowでURL表示します。
URLの表示先をインラインフレームにすることができなくて困っています。
指定方法が間違いなのか プログラム自体の構成が悪いのかもしれません。
未熟な知識ですみません 教えてください
nameとidの間違いご指摘ありがとうございます。
補足のような状況でまだエラーですが まずは記載ミスを訂正しました。
教えていただいてありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptで複数キーワード検...
-
C#で、ContextMenuStripに動的...
-
JavaScriptで日付を取得したいです
-
C#OpenCv V4にのエラーに関する...
-
IEでF12を押さないとjavascriptが…
-
ジェネレーターの作り方
-
【javascript】正規表現で括弧...
-
google apps scriptの終了のさせ方
-
ジャバスプリクトについて
-
idを使わずにonclickで自身の要...
-
jspからjavascriptの変数引継ぎ
-
「nullまたはオブジェクトでは...
-
Linux バイナリ実行できない "...
-
window.openでタイトル名の指定
-
VBAでIEのボタンを押してメッセ...
-
HTML:Tableタグに対し、JavaScr...
-
ActiveXobjectが作成できない
-
Boolean型配列中のTrueの有無を...
-
JavaScriptとHTMLの課題です
-
Latexに関する質問です。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#OpenCv V4にのエラーに関する...
-
C#で、ContextMenuStripに動的...
-
食材の期限を管理するためにGAS...
-
javaScriptのコードの修正をお...
-
メールフォームの日付入力フォ...
-
GASでundefinedエラーが出ます
-
var exports = exports || {}; ...
-
google apps scriptの終了のさせ方
-
JavaScriptでテーブル内?に矢...
-
ジェネレーターの作り方
-
HTMLで作った時報アプリが動き...
-
gas スプレッドシートがアクテ...
-
ASP.NET MVCでObjectをjsに渡す
-
setTimeoutによる繰り返しが途...
-
イラレでナンバリングする方法
-
定積分の近似値を計算する関数c...
-
pdfに丸秘などのスタンプを...
-
【JavaScript】数当てゲームを...
-
シンプルなweb版スタンプラリー...
-
翌月を取得するGASが分かりません
おすすめ情報