教えてください。
<input type="hidden" name="page" value="$PAGE">
※<p>タグ内の1=($PAGE(50)/50)
<p>1ページ目</p>
<button name="front" value="-50" onclick="location.href='bbs.cgi">前へ</button>
<button name="next" value="+50" onclick="location.href='bbs.cgi">次へ</button>
最初に、bbs.cgiを開いた時は、1の状態
hiddenのvalueの値が50
で「次へ」ボタンを押すと、
hiddenのvalueの値が100になり
(2=次へのValueの値50+$PAGE(100)/50)
となり、さらに2ページで「次へ」を押すと
hiddenのvalueの値が150になり
(3=次へのValueの値50+$PAGE(150)/50)
前へはその逆のこと。
まずやりたいこと
①最初にbbs.cgiに入ったときのhiddenの値は50
②次へを押して行くとhiddenの値は、+50ずつあがっていく
(前へは-50)
このようなことをしたいのですが、どのようにすればいいのでしょうか?
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
No.1です。
> 掲示板などでのページ移動にも使えるのでしょうか・・・?
言われている意味が分かりません。。。(;_;)
(1) あるWeb画面に入力欄や選択欄があって
(2) 然るべき入力・選択を行って“実行”ボタンなどを押すとWebサーバーに画面上で入力・選択したデータが画面のHTML中で指定したURL(←静的HTMLファイルではなくプログラムを指す)へ飛んで行き
(3) 指定されたサーバ上のプログラムでその指定・選択された値を受け取って何がしかの処理を行い
(4) 処理結果の画面(HTML)を生成して送出する
(5) サーバー側で送出されたHTMLをブラウザが受け取り画面描画する
というアプリケーション機能を持ったWebページ処理の最も基本的な一連の流れを理解されていますか?
で、Perlで実現しようとされているプログラムは(1)から(5)のどの部分なのかを把握されていますか?
また、そのようなWebページの場合、ブラウザ上部にあるURL欄に表示されているURLと表示中の画面の関係を理解されていますか?(上記の流れを理解されているなら自明のことですが念のため)
No.2
- 回答日時:
このような感じでしょうか
-- bbs.cgi
my $q = CGI->new();
my $nextpage = $q->param('nextpage');
my $page = $nextpage? $nextpage: 50;
print <<"_HTML_";
<form action=bbs.cgi>
<input type=hidden name=page value="@{[$page]}">
<p>@{[$page/50]} ページ目</p>
<button type=submit name=nextpage value="@{[$page-50]}">前へ</button>
<button type=submit name=nextpage value="@{[$page+50]}">次へ</button>
</form>
_HTML_
No.1
- 回答日時:
まず、HTMLとPerlを混同されているかと。
。。> ①最初にbbs.cgiに入ったときのhiddenの値は50
それは単にsubmitでbbs.cgiを呼び出す画面内で該当hidden変数に50という値がセットされていればよいだけです。
hidden変数への値のセットを画面がそうされることにより行うのであればJavascriptなど、ブラウザ側で動作するロジックを該当画面に組み入れればよいです。
そういう操作が必要無いのであれば該当画面(内のform)に最初から50という値をセットしたhidden変数を設けておけばよいだけです。
> ②次へを押して行くとhiddenの値は、+50ずつあがっていく
> (前へは-50)
Perlを前提とする(つまりサーバ側で画面生成を行うプログラムで実現する)のであれば、画面上でsubmitしたことでサーバ側に飛んできたform変数の一つである該当hidden変数を変数名を指定して取り出し、その値に50を加えた値を送出する画面内の該当hidden変数にセットすればよいだけです。
ちなみに「次へ」を押すたびにあるform変数(←hidden変数に限らず)に一定値を加えるだけなら都度サーバ側のプログラムに処理を依頼しなくてもブラウザ上で動作するJavascriptで行うことが出来ます。
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
マクロ 特定のセル値のみクリ...
-
値を返さないコード パス
-
VB.NETでアクティブなformを知...
-
Excel VBA 複数選択したリスト...
-
ISDBNULLをスルーしてDBNULLが...
-
2つのCSVを比較して一致してい...
-
VB.NETのスクロールバーコント...
-
Excel VBAのリストボックスの値...
-
Powershellのparamについて
-
【C++/CLI.NET】コンボボックス...
-
変数名の取得
-
VB初心者。小数点以下の表示で...
-
オブジェクト型の変数同士の値...
-
【ASP.NET】 DataTextFieldの値...
-
vbscriptを使いexcelを参照して...
-
VB6.0でINIファイルからデータ...
-
SqlParameterとSqlCommandの使...
-
ユーザーフォームのテキストボ...
-
VB.NETでコンボボックスの1行目...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
VB.NETでコンボボックスの1行目...
-
値を返さないコード パス
-
Excel VBA 複数選択したリスト...
-
PL/SQLでのTO_DATEの時間取得に...
-
マクロ 特定のセル値のみクリ...
-
VB初心者。小数点以下の表示で...
-
Excel VBAのリストボックスの値...
-
変数名の取得
-
VB.NETでアクティブなformを知...
-
マクロで奇数と偶数の値を2か所...
-
Powershellのparamについて
-
ISDBNULLをスルーしてDBNULLが...
-
DataTableに対するLINQについて
-
Excel vba ユーザーフォームテ...
-
C#の質問です
-
ユーザーフォームのテキストボ...
-
VBA ドロップダウンリストを残...
-
シーケンサで最小値を保持する
-
[VBA]選択範囲の下から上に処理...
おすすめ情報