URLに#を表示するには?

このQ&Aのポイント
  • 無料のCGI(掲示板)をDLして自分のHPで使用する際に、URLに「#jump」と手入力することで指定箇所にジャンプできますが、CGIのコードを改造してURLで「#jump」と表示されるようにする方法を教えてください。
  • 質問者は無料のCGI(掲示板)を使用しているが、「Res」ボタンをクリックするとスレッドの一番上に来てしまい、返信フォームが一番下にあり使いにくいため、改造を試みている。返信フォーム付近に「<a name=jump>」タグを入力しているが、CGIのコードにどのように記述すればURLで「#jump」と表示されるようになるか教えてほしい。
  • 質問者は無料のCGI(掲示板)を使用しているが、返信フォームを使いづらいと感じ、改造を試みている。返信フォーム付近に「<a name=jump>」タグを入力しているが、CGIのコードにどのように記述すればURLで「#jump」と表示されるようになるか教えてほしい。
回答を見る
  • ベストアンサー

URLに#を表示するには?

初めまして。無料のCGI(掲示板)をDLして自分のHPで使用しているのですが「Res」ボタンをクリックするとスレッドの一番上に来てしまい、返信フォームが一番下にある為に使いづらいので改造を試みています。 とは言っても初心者なのでやり方自体が間違っているかもしれませんが。 返信フォーム付近に<a name=jump>タグを入力してあります、URLに「#jump」と手入力すれば思った事が出来るのですが以下のCGIにどの様に記述すれば良いのか教えてください。 print "<form action=\"$script\" method=GET>\n"; if($up_down){ print "<a href=\"#$mm[$x-1]\">▲前</a> <a href=\"#$mm[$x+1]\" class=\"ud\">▼次</a>"; $x++; } print "<input type=hidden name=mode value=new_html>\n"; print "<input type=hidden name=no value=$no>\n"; print "<input type=submit value='Res'> &nbsp; </td></form>\n"; 下から2行目の「=$no」の後に「#jump」と記述すると「#」が「%23」になってURLが出てきます。 これをURLで「#jump」と表示されるようにしたいのです。 下手くそな説明で申し訳ありませんがよろしくお願いします。

  • Perl
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

$noの後ろに#jumpとか入れたら、スクリプトで「no」がキチンと取れなくなりませんか?変更するとしたら   >print "<form action=\"$script\" method=GET>\n"; を   print "<form action=\"$script#jump\" method=GET>\n"; ですかねぇ。未検証ですのであしからず。

ermita
質問者

お礼

shimixさんご回答ありがとうございます。 >スクリプトで「no」がキチンと取れなくなりませんか? これはno取れました。 > print "<form action=\"$script#jump\" method=GET>\n"; 出来ました!ありがとうございます。

関連するQ&A

  • 文字の表示色を変えたい

    いつも、ありがとうございます。 下の記述で、<他社より安い場合は・・・>の文字を 青くしたいのですが、いろいろとやっても、 青文字になってくれません。 500 Internal Server Error になってしまいます。 どうやれば、青文字になりますか? **********記述文************************ print "<table>\n"; print "<tr>\n"; print "<td>\n"; print "<form action=\"$script\" method=\"POST\" target=\"_blank\">\n"; print "<input type=hidden name=mode value=note>\n"; print "<input type=hidden name=job value=blank>\n"; print "<input type=submit value=ご 利 用 方 法></form>\n"; print "</td><td>\n"; print "<form action=\"$home\" method=\"POST\" target=\"_self\">\n"; print "<input type=hidden name=mode value=_top>\n"; print "<input type=hidden name=job value=blank>\n"; print "<input type=submit value='ト ッ プ へ 戻 る'>\n"; print "</form></td></tr></table> <他社より安い場合は、ご相談ください。>

    • ベストアンサー
    • CGI
  • CGIプログラムでのボタン表示のさせかた

    print "<form action=\"$script\" method=\"POST\" target=\"_blank\">\n"; print "<input type=hidden name=mode value=note>\n"; print "<input type=hidden name=job value=blank>\n"; print "<input type=submit value="説明表'>"</form>\n"; print "<form action=\"$home\" method=\"POST\" target=\"_blank\">\n"; print "<input type=hidden name=mode value=_top>\n"; print "<input type=hidden name=job value=blank>\n"; print "<input type=submit value='トップ'></form>\n"; というCGIプログラムの文章があるのですが、 上記の記述で実行すると、 「説明表」ボタンと、「トップ」ボタンが縦に並んで表示されてしまいます。 これを、横に表示させるようにするには、 どのように変更すばいいのでしょうか? 参考になるかわかりませんが、「説明表」をクリックして表示される文章は、 他のCGIプログラムの中に記述されています。

    • ベストアンサー
    • CGI
  • ランダムリンクでリンク先を別ウィンドウに表示したい

    <form action="http://mkt.fem.jp/randomlink.cgi" method="get"> <input type="hidden" name="mode" value="link"> <input type="hidden" name="x" value="http://www.yahoo.co.jp/"> <input type="hidden" name="x" value="http://www.odn.ne.jp/"> <input type="hidden" name="x" value="http://www.bbiq.jp/"> <input type="hidden" name="x" value="http://www.ntt-west.co.jp/"> <input type="hidden" name="x" value="http://www.nttdocomo.co.jp/"> <input type="submit" value="タイトル~ランダムリンクだよ"></form> わかりやすい様にリンク先URLに差し支えのないものを入れました。 <input type="hidden" name="x" value="リンク先URL"> これを追加するだけでランダムリンク先は増えていきます。 質問ですが、これを表示させればリンク先は別ウィンドウにはなりません。今回は、リンク先を別ウィンドウに表示したいのです。 HTMLのどこを変えればいいのか、貼っていただけないでしょうか?

  • 検索結果の表示形式を表形式にしてだしたいのですが・・・

    CGI初心者です。データベース検索のCGIをフリーからカスタマイズをかけて利用を試みています。今の状態では、検索結果が、 print "<LI><a href=\"$script?mode=view&no=$no\">$sub</a>\n"; 状態で表示されます。 が、これをメンテするときの一覧状態にしたいのです。 メンテ時の表示プログラムは、 # 管理画面を表示 &header; $count = @lines; print "<center>\n"; print "<form action=\"$script\" method=\"$method\">\n"; print "<input type=hidden name=pass value=\"$in{'pass'}\">\n"; print "<input type=hidden name=mode value=\"admin\">\n"; print "<input type=hidden name=action value=\"delete\">\n"; print "<table border=1 cellspacing=1><tr>\n"; print "<th>削除<th>料理名<th>食種<th>食材<th>調理法<th>コメント</tr>\n"; foreach $line (@lines) { local($no,$sub,$com,$p1,$p2,$p3) = split(/<>/, $line); $com =~ s/<br>/ /g; $com =~ s/</&lt;/g; $com =~ s/>/&gt;/g; if (length($com) > 60) { $com = substr($com,0,58); $com = "$com" . '..'; } print "<tr><th><input type=checkbox name=del value=\"$no\"></th>"; print "<td><b><a href=\"$script?mode=mente&no=$no\">$sub</a></b></td>"; print "<td>$part1[$p1]</td><td>$part2[$p2]</td><td>$part3[$p3]</td>"; print "<td><small>$com</small></td></tr>\n"; } print "</table><P>\n"; です。どうしたら、メンテ時のような一覧の表形式で表示できるのでしょうか? あと、あまりに言語がわからないので、なにか良い参考書及びHPがあれば教えてください。

    • 締切済み
    • CGI
  • URL の求め方。

    URL の求め方。 http://www.vector.co.jp/soft/unix/edu/se345757.html にあるウェッブ上で単語帳を作るプログラムを使っています。これは、自分で単語を登録して、自分で勉強するものなのですが、たとえば、日本史、英語、数学のように教科ごとに作成できます。 問題は、 すべてのURLが、.../mytango.php になってしまいます。これを個別の、つまり、English 2だけを出すURLを知りたいのですが、どうすればいいのかわかりません。 、.../mytango.php?f=English など試してみたのですが、うまく行きません。一応、下のがそのページのソースなのですが、よろしくお願いいたします。 <form action=mytango.php method=post name=f> <input name=stats type=hidden value=102> <input name=tangocho type=hidden value=English%201> <input name=line type=hidden value=27> <p><input type=submit value=次の問題 name=focus></p> </form>

    • ベストアンサー
    • PHP
  • 「option」をソートしたい!

    お世話になります。 調べてもわからないので、丸投げです。ごめんなさい。 このCGIのアイコン選択の「option」をソートで名前順にしたいのですが、 お分かりになるでしょうか? どうぞ、宜しくお願いします。 print "<tr><td><b>アイコン</b></td><td>\n"; if ($UZa_icn) { push(@icn_img,"$myicon"); push(@icn_nam,"管理者専用"); } print "<select name=gicon>\n"; foreach(0 .. $#icn_img) { if ($gicon eq "$icn_img[$_]") { print "<option value=\"$icn_img[$_]\" selected>$icn_nam[$_]\n"; } else { print "<option value=\"$icn_img[$_]\">$icn_nam[$_]\n"; } } print "</select>$ic_tog</td></tr>\n"; } else {print"<input type=hidden name=gicon value=\"$gicon\">";} print <<"EOM"; <tr><td><b>URL</b></td><td><input type=text name=ul size="$ltx_wth" value="http://$gurl" class="text"> </td></tr> <tr><td>&nbsp;</td><td> <input type=hidden name=ps value="$F{'ps'}"> <input type=hidden name=no value="$F{'no'}"> <input type=hidden name=dl value="$F{'dl'}"> <input type=hidden name=mode value="kakikae"> <input type=submit value="修正する" class="button"> </form></td></tr> </table></td></tr></table></div><br><br>

    • ベストアンサー
    • CGI
  • リンクが押された文字をある値に変更するプログラム

    以下のソースで、リンクが押された文字をXに変更するということを実現したいのですが、なぜかうまくいきません。 リンクを押して、その文字を引数にして関数changeXを実行し、その文字がnameのhiddenのvalueをXに変更し、postでフォーム送信し、その文字がnameの$_POSTに値が入っていればそれをその文字の配列に代入して、表示するという風にしています。 どこを改良すれば、実現できるか教えてください。 <?php print "<form name='form1' method='post' action=''>"; $a = array("A"=>"A", "B"=>"B", "C"=>"C", "D"=>"D"); if(isset($_POST['A'])){ $a["A"] = $_POST['A']; }elseif (isset($_POST['B'])) { $a["B"] = $_POST['B']; }elseif (isset($_POST['C'])) { $a["C"] = $_POST['C']; }elseif (isset($_POST['D'])) { $a["D"] = $_POST['D']; }; function showA(){ global $a; foreach ($a as $key => $value) { print "<a href='' onclick=\"changeX('".$key."')\">"; print $value; print "</a>"; } } print "<input type='hidden' name='A' value=''>"; print "<input type='hidden' name='B' value=''>"; print "<input type='hidden' name='C' value=''>"; print "<input type='hidden' name='D' value=''>"; showA(); print "</form>"; print "<script>"; print "function changeX(v){"; print "document.form1.v.value = 'X';"; print "document.form1.submit();"; print "}"; print "</script>";

    • ベストアンサー
    • PHP
  • FORM ACTION~POST使用時について

    こんにちは。お世話になります。 cgiファイルから、FORM ACTION~POST⇒submitで自分自身を呼び出す時に、INPUT TYPE=\"text\"を11個間に入れると呼び出せません。 (10個の場合はうまくいきます) FORM ACTION~POSTは文字数制限がないと、本を見てもかいてあるのですが、なにか理由があるのでしょうか。 ご存知の方、ご教授願えたら幸いです。 よろしくお願いいたします。 抜粋したソースを下記に記します。 ------------------------------------------------------------- #障害対応情報項目テキストボックス print "<H5>【障害対応情報項目】</H5>\n"; print "<FORM ACTION=\"../cgi-bin/serch_e-001.cgi\" METHOD=\"POST\">\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-2\" VALUE=\"$$selectdata[0][7]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-3\" VALUE=\"$$selectdata[0][8]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-4\" VALUE=\"$$selectdata[0][9]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-5\" VALUE=\"$$selectdata[0][10]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-6\" VALUE=\"$$selectdata[0][11]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-7\" VALUE=\"$$selectdata[0][12]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-8\" VALUE=\"$$selectdata[0][13]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-9\" VALUE=\"$$selectdata[0][13]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-13\" VALUE=\"$$selectdata[0][18]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-14\" VALUE=\"$$selectdata[0][19]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-15\" VALUE=\"$$selectdata[0][19]\" SIZE=30>\n"; print "<INPUT TYPE=\"submit\" NAME=\"button\" VALUE=\"新規検索\">\n"; print "<INPUT TYPE=\"submit\" NAME=\"button\" VALUE=\"更新\">\n"; print "<INPUT TYPE=\"hidden\" NAME=\"no\" VALUE=\"$$selectdata[0][0]\">\n"; print "</FORM>\n"; ------------------------------------------------------------

    • ベストアンサー
    • Perl
  • POST からの受け渡しができません・・・

    教えてくださいm(__)m <FORM action="<? echo $PHP_SELF; ?>" method="POST"> :(ここにはif文がはいっています。) : print "お名前:<BR>\n"; print "<input type=\"text\" name=\"handle\" size=\"16\" maxlength=\"30\" value=\"<? echo ($handle); ?>\"><br><br>\n"; print "性別:<BR>\n"; for (reset ($sex_tbl); $key = key ($sex_tbl); next ($sex_tbl)) { echo (" <OPTION value=\"" . $key . "\""); if ($key == $sex) echo (" SELECTED"); echo (">" . $sex_tbl[$key] . "\n"); } print "PRポイント:<BR>\n"; print "<input type=\"text\" name=\"pr\" size=\"16\" maxlength=\"30\" value=\"<? echo ($pr); ?>\"><br><br>\n"; print "<CENTER><input type=\"submit\" value=\"次の人!\"></CENTER><br>\n"; print "<input type=\"hidden\" name=\"page\" value=\"kekkapage\">\n"; print "<input type=\"hidden\" name=\"handle\" value=\"" . $_POST['handle'] . "\">\n"; print "<input type=\"hidden\" name=\"sex\" value=\"" . $_POST['sex'] . "\">\n"; print "<input type=\"hidden\" name=\"pr\" value=\"" . $_POST['pr'] . "\">\n";←80 </FORM> : : ↑なのですが、 「・・・on line 80」エラー表示になりうまくいきません。 の部分が原因と表示にはなっているのですが…。 助けてください。 宜しくお願いしますm(__)m

    • ベストアンサー
    • PHP
  • スケジュール・カレンダーを携帯から

    無料配布されているスケジュール・カレンダーのCGIを使い、スケジュール表をUPさせましたが、パソコンから見るといいのですが、 携帯から見ると、 ・先月や来月に移るのに、フォームのイメージタグを使い、GIFファイルをつかい、(hiddenで)今月の月であったり、年であったりの情報を送っています。 しかし、これを携帯でみると、「LAST」アイコンではなく、テキスト入力欄になっていて、先月や来月へ移ることができません。 どうしてなのかが、わからないです。 たぶん、このあたりを変えるといいのだろうと思うのですが、どうしたらいいのかわかりません。 ーーーーーーーーーーーーーーーーーーーーーーーーーー sub dsp { print "<table width=",$calw-40," cellspacing=2 cellpadding=0><tr><td width=100><font size=\"+1\"><b>$logyear年</b></font></td>\n"; $mon = $logmon - 1; if ($mon < 1) {$mon = 12; $year = $logyear - 1;} else {$year = $logyear;} if (2002 < $year) { print "<td align=right><form action=\"$script\" method=\"POST\">\n"; print "<input type=\"hidden\" name=\"mode\" value=\"$mode\">\n"; print "<input type=\"hidden\" name=\"pass\" value=\"$inpass\">\n"; print "<input type=\"hidden\" name=\"year\" value=\"$year\">\n"; print "<input type=\"hidden\" name=\"mon\" value=\"$mon\">\n"; print "<input type=\"image\" src=\"$last_icon\"></td></form>\n"; } print "<td width=100 align=center><font size=\"+2\"><b>$logmon月</b></font></td>\n"; $mon = $logmon + 1; if (12 < $mon) {$mon = 1; $year = $logyear + 1;} else {$year = $logyear;} print "<td><form action=\"$script\" method=\"POST\">\n"; print "<input type=hidden name=mode value=\"$mode\">\n"; print "<input type=hidden name=pass value=\"$inpass\">\n"; print "<input type=hidden name=year value=\"$year\">\n"; print "<input type=hidden name=mon value=\"$mon\">\n"; print "<input type=image src=\"$next_icon\"></td></form><td width=100></td></tr></table>\n"; } ーーーーーーーーーーーーーーーーーーーーーーーーーー お願いします。

    • ベストアンサー
    • CGI

専門家に質問してみよう