携帯サイトにページジャンプ機能をつける方法

このQ&Aのポイント
  • 携帯サイトにページジャンプ機能をつける方法について調査しました。
  • 現在、初めて携帯サイトを作成しており、フォレストページの小説機能についているページジャンプ機能を導入したいと考えています。
  • しかし、携帯で閲覧した際にURLが正しくないと表示され、動作しない問題が発生しています。解決策をご教示いただきたいです。
回答を見る
  • ベストアンサー

携帯サイトにページジャンプ機能をつけたい。

現在初めて携帯サイトを作っており、フォレストページの小説機能についているページジャンプ機能をつけたいと考えています。(テキストボックスにページ数を入力して、その隣のボタンを押下すると目的のページに移動するというものです) 調べた末、以下のような記述でPC閲覧では目的の動作をするようになりました。 しかし、携帯で閲覧した際に『URLが正しくありません』と表示され動作がうまくいきません。 【スクリプト部分】 var nov= "http://test/"; var pageurl = new Array(); pageurl[0] = "test.html"; pageurl[1] = "test1.html"; pageurl[2] = "test2.html"; function jump(form_obj){ var v = eval( form_obj.elements["in"].value ); if( v&gt;=0 &amp;&amp; v&lt; pageurl.length){ location.href= nov+ pageurl[v]; } } 【フォーム部分】 <form id="pager" action="javascript:void(0);" method="post"><input name="in" id="in" size="10" type="text" /> <input onclick="jump(this.form)" value="移動" type="submit" /></form> 当初フォーム部分のimput typeをbuttonにしていた所、auで閲覧した際にボタンではなくテキストエリアとして表示されたので調べてsubmitに変更しました。 この記述でボタンがボタンとして表示されるようになりましたが、動作はしませんでした。(PCでは動作しました) 何か解決策がありましたら享受願えませんでしょうか? JAVAに触るのは初めてなのでもしかしたら検討違いな記述をしているかもしれません。 もし上記記述は携帯閲覧では使用できないのであれば、他にどのような記述でページジャンプ機能を作れますか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BellBell
  • ベストアンサー率54% (327/598)
回答No.1

携帯サイトでしょ、Javascriptを使用しようという事が間違い。 携帯はJavascriptが動作しないもの、と思って作るべきです。 PCにしても、この程度の機能であればJavascriptが使えない場合でも問題なく動くように作るべきですね。 ※そのうえで、Javascriptが使用できる場合にはより使いやすいように調整するなど。 それなら、携帯を使った場合でも使用できない場合使用できる場合の両方を満足させることができます。

yaginoko
質問者

お礼

Javascriptは使えないのですね、教えていただいてありがとうございました。 他の方法で頑張って作り上げようと思います^^

その他の回答 (1)

  • Gletscher
  • ベストアンサー率23% (1525/6504)
回答No.2

携帯電話に搭載しているブラウザの仕様が分からないと何ともいえませんが、私の持っているFomaだと、METAタグによるページ移動やJavaScriptが使えません。 機種によってはJavaScriptは使えてもlocation.href を理解しないものがあります。 なので、私は<A>タブのリンクでやっています。 スマートフォンや新型の携帯電話は多機能なブラウザを使っているかも知れないですが、携帯電話のブラウザを調べてみないと分からないですよ。 http://www.nttdocomo.co.jp/service/developer/make/content/browser/index.html ↓iモードブラウザ2.0なら<script>を理解します。 http://www.nttdocomo.co.jp/service/developer/make/content/browser/browser2/tag/index.html

yaginoko
質問者

お礼

携帯ではJAVAscriptは使えないのですね^^; 教えていただいて有難うございました。 私もリンクで何とかしようと思います。

関連するQ&A

  • 別なページにジャンプさせたい

    ボタンをクリックすると指定のページに飛ぶようにしたいのですが、 <html> <head> <script language="JavaScript"> function jump(){ location.href="index.html"; } </script> </head> <body> <form onSubmit="jump()"> <input type="submit"> </form> </body> </html> でも <html> <head> <script language="JavaScript"> function jump(){ location.href="index.html"; } </script> </head> <body> <form> <input type="submit" onClick="jump()"> </form> </body> </html> でも動きません。(そのページを表示したままです) <body onload="jump()">にしたときは正常にジャンプできるので、クリックのイベントが拾えていないと思うのですが、どのように記述すればいいのでしょうか。 よろしくお願いいたします。

  • エンターでsubmitさせたい

    テキストボックスが複数あるようなフォームを作っているのですが、 submitボタンを表示させず、エンターのみで動作するものを作りたいと思っています。 stype="display:none;"で表示を消すことができたのですが、 エンターを押しても動作しません。 ご存知の方教えて頂けると大変助かります。 <form method="post"> <input type="text" size="10" name="obj1"> <input type="text" size="10" name="obj2"> </form> <? print $_POST['obj1']."<br>"; print $_POST['obj2']."<br>"; ?>

    • ベストアンサー
    • PHP
  • Perlでページ処理がどうしても機能しない!教えて!

    次のページが表示してくれません。 どこが悪いのか、わかりません。教えてください。 スクリプトは以下の通りです。 #formのデータ処理で $in{$key} = $val; # 入力データは%inへ #ページ処理(2) if($val eq '次の$page件'){ $allhits=$in{'allhits'}; $ff=$key; &Search; } #sub Search内で #foreach $line (@messages) {の中で #ページ処理(4) $page_control++; if($ff eq ""){ $ff = 1; } if( $ff > $page_control ){ next; } #ページ処理(5) #最初のページの時、データの最後まで処理する。 if($in{'next_num'} eq ''){ if($end != 1 && $hit == $page ) { $end = 1; $next_num = $page_control; $allhits++ ; } elsif( $hit >= $page) { $allhits++ ; } else{ push(@NEWS , $line); $hit++; $allhits++; } $test5 = $allhits;     #test値 13 -> なし 正常(値の変化をチェック) }elsif( $ff > 4 ){      #この辺の処理がうまくいっていない? $allhits = $in{'allhits'}; $test3 = $allhits;     #test値が入らない?(値の変化をチェック) if ($hit == $page ) { $next_num = $page_control ; $test4 = $next_num;   #test値が入らない?(値の変化をチェック) #last OUTER; } else { push (@NEWS , $line ); $hit++; } } } #foreach文ここまで &footer; #ページ送りのサブルーチン #ページ送りボタンサブルーチン sub footer { print "<table width=700><tr><td align=left>\n"; if ($ff >2) { print "<INPUT type=submit value=\"前の$page件\" onClick=history.back()>\n"; } print "</TD><TD align=right>\n"; if ($next_num){ print "<INPUT type=submit name=\"$next_num\" value=\"次の$page件\">\n"; } print "</td></tr></table>\n"; }

    • ベストアンサー
    • Perl
  • 同一ページで複数のformを扱う場合

    同一のページ内にhiddenでIDを振った削除ボタンを用意しクリックされたIDを取得するにはどのようにすれば良いでしょうか? <form action="/test.php" name="1" method="post"> <input type="hidden" name="id" value="1" /> <input type="submit" name="delete" value="削除"> </form> -- 省略 <form action="/test.php" name="10" method="post"> <input type="hidden" name="id" value="10" /> <input type="submit" name="delete" value="削除"> </form> formにnameを振ってみても最後のIDがPOSTされてしまいます。

    • 締切済み
    • PHP
  • ページを再読み込み後、再読み込み前の状態に復元する方法が分からず困っております。

    (多分)JavaScriptで分からない所がございましたので、ご教示いただける方がいらっしゃいましたら、よろしくお願いします。 【やりたいこと】 1. ボタンをクリックするとボタンにチェック(とりあえず色)をつけた上で、ページの再読み込みをしたいです。 2. ページの再読み込み後、ページの再読み込み前の状態に復旧したい(ページの再読み込み前にチェックしていたボタンの状態を保持しておきたい)です。 【状況】 1はできております。 ただし、1のページの再読み込み後、今までチェックしていたボタンが未チェック状態に戻ってしまいます。 【ソースコード】 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <title>title</title> <script type="text/javascript"> <!-- var f=new Array(5); f[0]=0; f[1]=0; f[2]=0; f[3]=0; f[4]=0; f[5]=0; function jump(b){ if (f[b]==0){ document.getElementById("form_check").elements[b].style.background='#dbed00'; document.getElementById("form_check").elements[b].style.color='#323232'; f[b]=1; } else { document.getElementById("form_check").elements[b].style.background='#d6d6d6'; document.getElementById("form_check").elements[b].style.color='#666666'; f[b]=0; } var text = ""; if (f[0] == 1) { text += document.getElementById("form_check").a.value; } if (f[1] == 1) { text += document.getElementById("form_check").b.value; } if (f[2] == 1) { text += document.getElementById("form_check").c.value; } if (f[3] == 1) { text += document.getElementById("form_check").d.value; } if (f[4] == 1) { text += document.getElementById("form_check").e.value; } if (f[5] == 1) { text += document.getElementById("form_check").f.value; } if (text) { alert("チェックされているのは" + text + "です。\n「OK」で再読み込み実施。"); } else { alert("何もチェックされていません。\n「OK」で再読み込み実施。"); } } --> </script> </head> <body> <form id="form_check" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"> <p><input type="submit" value="a" name="a" onclick="jump(0)" onkeypress="jump(0)" /></p> <p><input type="submit" value="b" name="b" onclick="jump(1)" onkeypress="jump(1)" /></p> <p><input type="submit" value="c" name="c" onclick="jump(2)" onkeypress="jump(2)" /></p> <p><input type="submit" value="d" name="d" onclick="jump(3)" onkeypress="jump(3)" /></p> <p><input type="submit" value="e" name="e" onclick="jump(4)" onkeypress="jump(4)" /></p> <p><input type="submit" value="f" name="f" onclick="jump(5)" onkeypress="jump(5)" /></p> </form> </body> </html> どこかご教示いただけるようでしたら、ご教示いただければと思います。 以上、よろしくお願いします。

  • htmlでsubmit送信時、actionより前に、scriptを動作させたい

    よろしくお願いします。 formの送信ボタン押下して、action=test.asp と やっていますが、 test.aspが動作する前に 送信ボタンonclickでhtml内に記述したscriptを動作させたいのですが、どうやればいいでしょうか?

  • JavaScript動作仕様の変更!?

    以前は動作していたものが最近のIEパッチ(?)で動作しなくなった気がします。もし解決方法があれば教えて下さい! ------------------------------------- <HTML> <HEAD> <TITLE></TITLE> <SCRIPT type="text/javascript"> <!-- function test() { document.form.submit(); } function test2() { alert( "!!" ); return true; } --> </SCRIPT> </HEAD> <BODY> <FORM name="form" onSubmit="return test2()"> <INPUT type="button" value="おす" onClick="test()"> </FORM> </BODY> </HTML> ------------------------------------- 以前だと、JavaScriptでのsubmit()コマンドで、きちんとonSubmitイベントも動作していたハズなんですが、ここ数日でボタン部分を <INPUT type="submit" value="おす"> としないとonSubmitイベントが動作しなくなった様に思えます。ここ数日でWindowsUpdateした端末数台でチェックしましたが同様でした。

  • Formを使ったPHP間での受け渡しについて

    いつもお世話になっています。 PHP間での変数の受け渡しで・・ <form action="<?= test.php ?>" method="POST">   <input type="hidden" name="id" value="aaa"/>   <input type="submit" name="submit" value="送信"> </form> と記述するとtest.phpには渡したいaaaが渡されるのですが、 これだとsubmitを押さないと渡せないため困っています。 したいことをまとめると、submitを使わずにページが表示されたら スグに変数が渡されるようにしたいです。 いろいろ試してみましたが、力不足で出来ませんでした。 宜しくお願いします!

    • ベストアンサー
    • PHP
  • フォームの送信ボタンを画像にしたい

    <div style="float:left; margin-left:5px; margin-top:4px;"> <form id="form1" name="form1" method="post" action="test"> <input type="hidden" name="sample" value="test"> <span onclick="submit()" id="sample2" style="cursor:pointer;"> <img src="img.jpg" alt="sample"></span> </form> </div> html内に上記のように記述し、 フォームの送信ボタンを作成いたしました。 IEでは問題なく動作したのですが、 ファイヤーフォックスでは動作しませんでした。 調べたところ、documentを省略せずに記述すると動作するとなっていたので、下記のように書き換えました。 <div style="float:left; margin-left:5px; margin-top:4px;"> <form id="form1" name="form1" method="post" action="test"> <input type="hidden" name="sample" value="test"> <span onclick="document.form1.submit()" id="sample2" style="cursor:pointer;"> <img src="img.jpg" alt="sample"></span> </form> </div> そうすると今度はIEでもファイヤーフォックスでも動作しなくなりました。 どこか記述が間違っているのかもわからず、悩んでいます。 解決策や修正箇所等教えていただきたく思います。 ちなみに、やりたいことは 「フォームの送信ボタンをテキストリンク、もしくは画像リンクのように見せたい」 ということだけです。 よろしくお願いいたします。

  • 前ページ・次ページの判定の仕方

    現在行いたい処理は以下の通りです。 (1)データの一覧を表示させる (2)一覧を表示させた状態でデータを変更する。 (3)更新ボタンを押さずに前ページか次ページを押した時に  「変更ボタンを押して下さい。」とのメッセージを出力させる。 (4) OKを押した時は、(3)の時に押した前ページか次ページの 処理を行う。 (4)の処理を行なった時に前ページか次ページの判定の仕方 がわかりません。 教えていただきたく、宜しくお願いいたします。 ソースは以下の通りです。 <script type="text/javascript"> function next(action) { var page = document.forms[0].NowPage.value; document.forms[0].NowPage.value = parseInt(page) + 1; document.forms[0].action = action; document.forms[0].submit(); } function before(action) { var page = document.forms[0].NowPage.value; document.forms[0].NowPage.value = parseInt(page) - 1; document.forms[0].action = action; document.forms[0].submit(); } function change(){ myRet = confirm("修正ボタンを押してください。"); if ( myRet == true ){ next('sample!Next.action'); } } </script> ・ ・ <td class="list1" ><s:textfield name="Sample1" size="10" maxlength="10" onchange="change()" /></td> ・ ・ ・  <td><s:submit value="修正" cssClass="form_button" action="Sample" method="Update" onclick="return confirm('%{btnUpdateMsg}');"/></td> <s:hidden name="btnUpdateMsg" /> <tr> <td class="form_navigation"> <s:if test="nowPage!=1"> <div class="navigation"> <s:a href="#" onclick="after('Sample!Next.action');"> <前ページ </s:a> </div> </s:if> </td> <td class="form_navigation"> <s:if test="nowPage!=TotalPage"> <div class="navigation"> <s:a href="#" onclick="next('Sample!Next.action');"> 次ページ> </s:a> </div> </s:if> </td> </tr>