こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

submitを押すといちいちページ最上部にいってしまい困っています

いま勉強のページを、携帯からも、PCからも見れるように、
javaスクリプトを使わずに作っています。

作りたいと思っているものは、
1.確認ページ
 問題を書いて、その横にボタンを設置し、クリックすると答えが表示
 されるといったもの。
2.問題ページ
 1.の確認ページをベースとし、問題の下にテキストボックスを置き、
 テキストに記述したものをpostしphpでmysqlから取得した答えと照合 し正解か否かを表示するもの
という感じです。

今1を作っており、問題とボタンを設置し、クリックしたら答えが表示されるようにはなったのですが、
答えを見るボタンをクリックするたびに、ページ最上部に移動してしまい困っています。
phpでpostしたときにはページ最上部へ移動してしまうのでしょうか?
どうしたらいいのか教えてください。
またソースが非常に汚く、
問題の追加ごとに手を加える部分が多くて面倒です。
なにかいい案があれば教えてください。

<?php
if (isset($_POST["m"])) {
$my_row = mysql_query("SELECT * FROM hou WHERE id='m'",$mysql_con);
$m = mysql_fetch_array($my_row);
$_SESSION["m"] = $m["free"];
}

if (isset($_POST["m_del"])) {
$_SESSION["m"] =array();
}
if (empty($_SESSION["m"])) {
print "<br />";
} else {
echo $_SESSION["m"];
}?>
<form action="000031.php" method="post">
<input name="m" type="submit" value="show"/>
<input name="m_del" type="submit" value="隠す" />
</form>

投稿日時 - 2009-04-17 01:57:16

QNo.4885586

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

>phpでpostしたときにはページ最上部へ移動してしまうのでしょうか?

いや、考え方がちがいます。
おなじページであっても理論上はあくまでも別ページに移動しているのです。
携帯でなければAjaxという手もあるのですが・・・

場合によっては、idやnameをアンカーではっておいて
actionにハッシュ付きで移動場所をしていすれば、先頭にいくのは
なんとか避けられます。といっても今の画面をキープしたまま
ということは難しいですけど


<a id="hoge" name="hoge">hoge</a>
<form action="自分#hoge">
・・・・
</form>

投稿日時 - 2009-04-17 09:18:38

お礼

>おなじページであっても理論上はあくまでも別ページに移動しているのです。

とてもよくわかりました。
postなどをなんとなく使っているからこんな事態におちいってしまったわけですね。情けないです。
この知識を足がかりにいろいろがんばってみます。
アンカーでもつけてみます。
本当にありがとうございました。

投稿日時 - 2009-04-17 12:38:08

あなたにオススメの質問