ファイル:index.html 001.html abc.csv
csvに
no、name、data1 data2 hp
のフィールドがあり、それを読み込ませて表を
index.htmlに作成するところまではできました。
hpのフィールドには詳細情報の書かれた
ファイルの名前、(今回ですと001.html)が
入力されています。
質問1
表の形式は番号、名前、データ1、データ2、で、
その右に「詳細」という文字の入ったボタンを
作成するにはどうしたらよいでしょうか?
現在は、マニュアルなどを参考に
以下のように入力してボタンは表示されています。
<TD><INPUT ID="JumpHP" TYPE="button"
VALUE="詳細" onClick="JumpHomepage()"></TD>
このあとこのボタンにリンクを貼りたいので
このような作成方法でよいのか教えてください。
質問2
1で作成したボタンをクリックしたときに
指定のページを開かせるJumpHomepage()を
作成しようとしているのですが、
<SCRIPT language="JavaScript">
<!--
function Jumphomepage(){
window.open(abc.recordset.Fields("hp").value,
"???",
"toolbar=yes,location=yes,menubar=yes,status=yes,resizable=yes");
}
//-->
</SCRIPT>
<OBJECT CLASSID="clsid:333c7bc4-460f-11d0-bc04-0080c7055a83"
ID="abc">
<PARAM NAME="CharSet" VALUE="shift-jis">
<PARAM NAME="DataURL" VALUE="abc.csv">
<PARAM NAME="UseHeader" VALUE="true">
</OBJECT>
ここまで考えてみましたがその後どうしたらよいのか
わかりません。window.openの後ろの()の中をどのような記述にすればよいのでしょうか?
また根本的にここが違うということがあればご指導ください。
初めてJAVAに取り組んでおります。詳しく教えていただけると嬉しいです。よろしくお願いします。わかりにくい点などありましたら、補足致します。
No.4ベストアンサー
- 回答日時:
ごめんなさい、JAVAと書いてあることと、
ボタンを既に作成して書いてあるということで、
そういう部分(ボタンの中身の取り出し)は既にできるのだと思い込んでいました。
javascriptでのサンプルを作ってみました。参考にして下さい。JScriptになっていますが、質問文の例は結局IEに依存していると思うので、IEに依存した書き方なのでそうしています。
<html>
<head>
<title>サンプル</title>
<script language="JScript">
window.onload=init;
function init(){
var recordSize=abc.recordset.recordCount;
for(var i=1;i<=recordSize;i++){
csvTable.rows(i).cells(4).innerHTML="<INPUT ID='JumpHP"+i+"' TYPE='button' VALUE='詳細' onClick=JumpHomepage('"+csvTable.rows(i).cells(4).innerText+"')>";
}
}
function JumpHomepage(url){
window.open(url,"タイトル","toolbar=yes,location=yes,status=yes,resizable=yes");
}
</script>
</head>
<body>
<table id="csvTable" width="700" border=1 datasrc="#abc">
<thead>
<tr>
<td>No</td><td>Name</td><td>Data1</td><td>Data2</td><td>HP</td>
</tr>
</thead>
<tbody>
<tr>
<td><span datafld = "no"></span></td>
<td><span datafld = "name"></span></td>
<td><span datafld = "data1"></span></td>
<td><span datafld = "data2"></span></td>
<td><span datafld = "hp"></span></td>
</tr>
</tbody>
</table>
<object id="abc" classid="CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83">
<PARAM NAME="CharSet" VALUE="shift-jis">
<param name="DataURL" value="abc.csv">
<param name="UseHeader" value="true">
</object>
</body>
</html>
初めてのことでJAVAとJscriptが違うのもわかっていなくて・・・カテゴリも違ってますね・・・
ご迷惑をおかけしました。
1回目から無謀な挑戦だったかもしれないです・・・
ご提示頂いたサンプルは、私が思っていたとおりの
動き方をするものでした。ありがとうございます。
VBAは少しやったことがあるので、データの扱いや
考え方のおよそのことはわかります。
頂いた、サンプルも意味を読むことができましたので
こちらをベースにさせて頂き、少しずつ手を加えながら
完成できるようにがんばります!
本当にお世話になりました。
心より御礼、ならびにお詫び申し上げます。
No.3
- 回答日時:
>ボタンの方の記述を
><TD><INPUT ID="JumpHP" TYPE="button" VALUE="詳細" onClick="JumpHomepage(url)"></TD>
>にすると、「urlは宣言されていません」
>というエラーが出ます。
(;;)
ボタンの方は、urlでなくてその行に応じたhpの値を取りだしたモノにするのです
>どの行のボタンを押しても一番上の001.htmlにしか
当初の
window.open(abc.recordset.Fields("hp").value,
の部分で、
abc.recordset.Fields("hp").valueが001.html
になっていたためだと思います。
TDの中身を作成する時に、nameやdata1,data2をとりだしているようにすればいいんですよ
もう、くじけそうです。orz
No.2
- 回答日時:
>各行ごとに指定してあるページを開かせることは
できますか?
そういう話をしているつもりだったんですが・
orz
まず、クライアント(ユーザがこのページを見ている時)で、新しくウィンドウをjavascriptから開くには、
window.openを使います、質問文に書いておられるから知っているかと・
window.openは
window.open(HTMLのアドレス,タイトル,ウィンドウの設定)
の様な形式になっています。これも書いておられる通りですが・
なので、
window.open(?????,
"タイトル",
"toolbar=yes,location=yes,menubar=yes,status=yes,resizable=yes");
?????の部分のアドレスが判れば、呼び出せます。
具体的には、ボタンのonclickにJumphomepage()が書かれているのでこの関数が呼ばれて、この中でwindow.openを呼び出します。
この時、
function Jumphomepage(url){
と書いておけば、
Jumphomepage('001.html')の様に呼び出した時には、
urlに'001.html'がセットされるので、
window.open(url,
"タイトル",
"toolbar=yes,location=yes,menubar=yes,status=yes,resizable=yes");
と書いておけば
window.open('001.html',
"タイトル",
"toolbar=yes,location=yes,menubar=yes,status=yes,resizable=yes");
の意味になります。
なので、001.htmlが新しいウインドウで開かれることになります。
この回答への補足
良くわかっていなくてすみません。
関数を
function Jumphomepage(url){
window.open(url,
"タイトル",
"toolbar=yes,location=yes,menubar=yes,status=yes,resizable=yes");
ボタンの方の記述を
<TD><INPUT ID="JumpHP" TYPE="button" VALUE="詳細" onClick="JumpHomepage(url)"></TD>
にすると、「urlは宣言されていません」
というエラーが出ます。
function Jumphomepage(){ と
onClick="JumpHomepage()" の組み合わせ
ですと、「オブジェクトを指定してください」
ということになります。
はじめのうちに触っていたときには
ファイルが開くには開いていて、ただ問題だったのが
どの行のボタンを押しても一番上の001.htmlにしか
ジャンプしませんでした。
確率的には、一番最後のが合ってそうなんですが
あまり触りすぎてわからなくしてしまいました・・・
この後の対処法を教えていただけますでしょうか?
何度もお手数をおかけして申し訳ないです。
No.1
- 回答日時:
CSVを読み込んで、動的にテーブルを作成してQ1の部分(ボタン)を作ってるんですよね。
だったら、その時に、
onClick="JumpHomepage()"
の部分を
onClick="JumpHomepage('001.html')"
になるようにhpを取り出して作成するのが楽だと思います。
ボタンを押したときに実行されるjavascriptは、クライアント側で実行されるので、ユーザ実行時にフィールドの取り出しはできませんから。
もし、javascriptの中に取り出したフィールドの中身を埋め込みたかったら動的に<script>部分を作らなくちゃいけませんし、また、とても面倒です。
リンクを開く関数をurl指定で呼び出せば
関数の方では
function Jumphomepage(url){
window.open(url,…
となって簡単です。
この回答への補足
ご回答ありがとうございます。
表は同じ内容で以下、30件以上続きます。
それぞれに「詳細」があります。
onClick="JumpHomepage('001.html')"
の001.htmlをCSVの hp の項目に
記述してあるのですが、そのURLを取得させて
各行ごとに指定してあるページを開かせることは
できますか?
リンクを開く関数をurl指定で呼び出せば
関数の方では
window.open(url,…
の部分も具体的に良くわからないのですが
onClick="JumpHomepage('001.html')"
とボタンの方を設定した場合
関数がfunction Jumphomepage(url){
の形になるということですか?
良くわかっていなくて申し訳ないですが
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
小窓を表示する時に、必ず右上...
-
SQLのWHEREで全てを質問する方法
-
新しいウィンドゥを最大化で立...
-
javascriptで別ウインドウを開...
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
インラインフレームで表示され...
-
別ファイルのfunctionの読み込み方
-
javascriptファイルは1つに統...
-
Dreamweaver で 外部JSを読み込...
-
特定のウィンドウ名を持つウィ...
-
base64encodeでの文字化けについて
-
外部から読み込まれたJava...
-
javascriptでbgmを自動再生する...
-
window.open でExcelファイルを...
-
外部ファイルを読み込ませるた...
-
プルダウンメニューを別ファイ...
-
onbeforeunload時のwindow.open...
-
ある一定時間操作していない場...
-
Vbscriptで自分自身のウィンド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
新しいウィンドゥを最大化で立...
-
SQLのWHEREで全てを質問する方法
-
小窓を表示する時に、必ず右上...
-
window.openでフルスクリーン表...
-
htmlファイルを開いた時の画面...
-
外部からのjs呼び出しについて。
-
町内会での不倫
-
IF文で該当の処理を通らない
-
Canvasを使って描画して面積取得
-
window.openの後にエンコードを...
-
色の指定で配列を使いたい
-
エクセルファイルをIE のウィン...
-
文字をクリックすると 小窓が開く
-
HP作成の小窓リンクを作るには?
-
window.open オートコンプリー...
-
サブウインドウの高さを自動で...
-
小窓を開くJSで、高さを調節し...
-
javascriptを別ファイルにして...
-
リンク先の別ウインドウをスク...
-
ポップアップ広告みたいな…
おすすめ情報