
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ランキング
-
Strutsで半角英数字1文字以上
-
翌月を取得するGASが分かりません
-
JavaScriptで、現在日時から100...
-
cgiでポーリングして取得したデ...
-
javascriptでテーブルに追加し...
-
ASP.NET MVCでObjectをjsに渡す
-
JavaScriptで年月日表示のカウ...
-
アルファベットABCD…をスマート...
-
C#OpenCv V4にのエラーに関する...
-
javascriptでiframeのURL変更は?
-
なぜmatchメソッドがエラーにな...
-
JavaScriptが期待どおりに動い...
-
ローカルにあるファイルを検索...
-
HTMLにWSHを組み込む
-
GASのエラー「undefined からプ...
-
Vb.netのグローバル変数の宣言...
-
<a>タグのテキストを取得
-
関数でy=g(x)のgとは何の略です...
-
ActiveXobjectが作成できない
-
java scriptでの表示件数の制御...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#で、ContextMenuStripに動的...
-
C#OpenCv V4にのエラーに関する...
-
javascriptでiframeのURL変更は?
-
ASP.NET MVCでObjectをjsに渡す
-
ASP.NETのコントロールの値をJa...
-
ローカルにあるファイルを検索...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
船のゲームを作っているのです...
-
商品コードを入力で、商品名、...
-
スクリプトのフルパス取得したい
-
HTMLにWSHを組み込む
-
Javascript 特定のフォルダのデ...
-
XMLの空白要素をJavas...
-
google feed api
-
html javascript リンク先アド...
-
JavaScriptで平日のみをカウン...
-
$("body").height();と$("body"...
-
シンプルなweb版スタンプラリー...
おすすめ情報