ページ数を入力し、任意のHTMLに飛ばす方法

[新着] Webテンプレートを仮オープンしました



0   名前:  : 2006/11/21(火) 09:41  ID:8XP4YPOX
初めて投稿します。
テキストサイトを運営していて、サイト内のページ数が多いため、
こちらの下部分のように、
http://ip.tosp.co.jp/BK/TosBK100.asp?I=hidamari_book&BookId=1&KBN=1&PageId=135838&PN1=2&TP=14&SPA=210&SSL=
任意のページ数を閲覧者に入力してもらい、飛ばす、という方法を
とりたいと考えています。

<SCRIPT Language="JavaScript">
function MM_goToURL() { //v3.0
var nextpage = document.form2.nowpage.value*1+1;
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location="+args[i+1]);
}
</SCRIPT>

を参考にしてみたのですが、どうしていいかわかりません。

どなたかお詳しい方、教えていただければ幸いです。

1   名前: miz : 2006/11/21(火) 09:41  ID:0z0oYHQn
ご呈示のサイトは、サーバーサイドでやっているようです。

JavaScriptで行うならページアドレスを配列に保持しておいて、
ページ番号でそのデータを呼び出せばよいかと思います。
あと、外部スクリプトにしておけば、全部のページで統一的に行えるし、変更も容易。

ごく簡単に作るなら
スクリプト部分
var top= "http://site/";	//サイトのトップurlを入れておく
var pageurl = new Array();
pageurl[0] = "top.html";	// 各頁はトップからの相対url
pageurl[1] = "menu.html";
pageurl[2] = "con1/content.html";

function jump(form_obj){
var v = eval( form_obj.elements["in"].value );
	if( v>=0 && v< pageurl.length){
		location.href= top+ pageurl[v];
	}
}


html内form
<form id="pager">
<input type="text" name="in" id="in" size="10" >
<input type="button" onclick="jump(this.form)" value="ページジャンプ">
</form>


2   名前:  : 2006/11/21(火) 09:41  ID:8XP4YPOX
mizさん、ありがとうございます!
上記スクリプトで試したところ、無事に動きました。
これでしたらページ数が増えても安心ですね。

どれだけ探しても見つからなかったスクリプトなので、
本当に助かります。ありがとうございました!

一覧へ戻る