• ベストアンサー

リンク先のurlに?がついてしまいます。

テーブルのセル部分からリンクを貼りたくて、ここで質問したところ、下記のようなやり方を教えてもらいました。 それでうまくいったのですが、リンク先に行った後ツールバーを確認するとurlの最後に?が表示されています。 データがGETで送信されているためなのかなと思っていますが、これは特に問題ないんでしょうか? ×××.htmを呼び出したいところが、×××.htm?を呼び出しているかんじになっています。 <HTML> <HEAD> <TITLE></title> <SCRIPT language="JavaScript"> <!-- function goPage(){ document.forms[0].action="xxx.htm"; document.forms[0].submit(); } // --> </Script> </HEAD> <BODY> <FORM> <TABLE border="1"> <TR> <TD onclick="goPage()">クリックすると遷移します</TD> </TR> </TABLE> </FORM> </BODY> </HTML>

  • egypt
  • お礼率87% (175/199)
  • HTML
  • 回答数4
  • ありがとう数3

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

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.4

<TD onclick="location.href='http://***'">リンク</TD> じゃだめ?

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=459410
egypt
質問者

お礼

すばらしい! javaを使わなくてもできたんですね。 ありがとうございます。

その他の回答 (3)

  • Seiryo
  • ベストアンサー率13% (27/203)
回答No.3

??結局なにがしたいのこのスクリプトは? ページを移動したいだけとはちがうんかな?

egypt
質問者

お礼

そのとおりでございます。 こんなことしなくても簡単にできたんですね

noname#3345
noname#3345
回答No.2

すいません、勢いで送ってしまったので追記。(^^;; ちなみにURLの最後に?がついていても、特に問題はないです。 GETで情報を送るとき、 http://URL?Name=VALUE という形で送るのですが、Name=VALUEの部分(つまり、フォームのエレメンツ要素)が無いために、「?」だけが残るわけです。 それがあってもその後の情報は無いことになるので問題はないですし、それ以前にhtmlファイルに情報を送ったところで処理しませんので全く問題ありません。 ただ、<TD>タグのonClickというのを使ったことがないので、このソースに関しては未確認です。

egypt
質問者

お礼

早速回答ありがとうございます。 なるほど ?がついても特に問題ないんですね。 ちなみにmethod="post"を指定したらエラーが出ました。 でもこんなややこしいことしなくても#4の回答どおりにやったら簡単にできました。

noname#3345
noname#3345
回答No.1

<FORM>タグにMETHODが指定されていないので、GETになっているからでは? <FORM METHOD="post">とすれば、消えると思います。

関連するQ&A

  • 表示されません(>_<)!!

    以下のように作ってみたんですけど、わたしは判定結果は四角の中に表示されるようにやったつもりだったんですけど、新しいページに「痩せてます」と表示されてしまいます。どこを直せば良いでしょう? お願いします <HTML> <HEAD> <TITLE>関数のテスト</TITLE> <SCRIPT language="JavaScript"> <!-- function test() { height = document.aaa.h.value; weight = document.aaa.w.value; himan = (height-100)*0.9; if (himan <= weight) { document.write("痩せてます。"); } else { document.write("太っています。"); } } //--> </SCRIPT> </HEAD> <BODY> <form name="aaa"> <table> <tr><td>身長</td><td><input name = "h"> </td></tr> <tr><td>体重</td><td><input name = "w"> </td></tr> <tr><td><input type="button" value ="判定" onClick = "test()" ></td></tr> <tr><td>判定結果</td><td><input name = "hi"> </td></tr> </table> </form> </BODY> </HTML>

  • JavaScriptのロジック?

    <HTML> <HEAD> <TITLE>JavaScript</TITLE> <SCRIPT type="text/javascript"> <!-- /* 同じ値を二重表示 */ function funDouble(){ alert( document.SampleForm.nameOne.value ); document.SampleForm.nameTwe.value = document.SampleForm.nameOne.value + document.SampleForm.nameOne.value; alert(document.SampleForm.nameTwe.value); } // --> </SCRIPT> </HEAD> <BODY> <form name="SampleForm" method="POST"> <table align="center"> <TR> <TD>OnClick機能 : <Input type="text" name="nameOne" value="Ok"><Input type="submit" value="押して!" onclick="funDouble()" ></TD> <TD>| 結果 => | </TD> <TD> OnChange後 同じ値を2重表示 ; <Input type="text" name="nameTwe" value="123456"></TD> </TR> </table> </form> </BODY> </HTML>

  • HTMLのタグ整形スクリプトについて

    PerlでHTMLのタグ整形スクリプトを作成しようと思っているのですが、 例 <html><head><title></title></head> <body><table><tr><td></td></tr></table></body> </html> ↓ <html> タブ<head> タブタブ<title></title> タブ</head> タブ<body> タブタブ<table> タブタブタブ<tr><td> タブタブタブ</td></tr> タブタブ</table> タブ</body> </html> こんな感じなんですが・・・。

    • 締切済み
    • CGI
  • 表の一部のセルの背景色を変更したい

    いつもお世話になっております。 IE6.0上で動作するものとして質問させていただきます。 以下のソースの中でBODYタグのonloadイベントで initメソッドを呼びだし、メソッド中で 表中の任意のセルの背景色を変更するにはどのように すればよいのでしょうか。 --------------------------------------- <HTML> <HEAD> <script language="JavaScript"> <!-- function init(){ //------ここでで各セルの背景色を変更したいのです。 } --> </script> </HEAD> <BODY onload="init(); "> <FORM name="tttt"> <TABLE border="1" >  <TBODY>   <TR>    <TD onClick="this.style.backgroundColor = 'black';">test</TD>    <TD onClick="this.style.backgroundColor = 'red';">test</TD>    <TD onClick="this.style.backgroundColor = 'yellow';">test</TD>   </TR>  </TBODY> </TABLE> </FORM> </BODY> </HTML> --------------------------------------- ソースは簡略化しておりますので、内容に不備がございましたら、ご容赦ください。 ご回答をよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • formのtextの文字色を変えたい

    JavaScriptで1page目で指定したパラメータを2page目で別のフォーム内のtextボックスに記入する際、他にも作るテキストボックスと違う文字色にしたいのですが、方法が判りません。そもそもそんなことできないのでしょうか? ------- 1page目 ------- <html> <head> <title>別ページのフォームにパラメータを送る</title> </head> <body> <table border="1" cellpadding="5" cellspacing="5" width="80"> <tbody><tr> <td align="center"> <input type="button" onClick="location.href='form2.html?No.001'" value="セット"></td> <td align="center"> <input value="閉じる" onClick="window.close()" type="button"> </td> </tr> </tbody> </table> </body> </html> ----- 2page目 ----- <html> <head> <title>別ページからのパラメータをフォームに書き込む</title> <script language="JavaScript"> <!-- function pdata() { para= location.search; para = para.substr(1,6); document.myform.number.value=para; } //--> </script> </head> <body onLoad="pdata()"> <table border="1" cellpadding="2" cellspacing="2" width="150"> <tbody> <form name="myform" method="post"> <TR> <TD >番 号</TD> <TD ><input name="number" type="text" id="番号" size="15" /></TD> </TR> </form> </tbody> </table> </body> </html>

  • jQuery 変数の使い方について

    jQuery 変数の使い方について 【やりたいこと】 ラジオボタンが複数ある為現在のアクションをまとめたい。 ■ $("input:radio[name='radio01']:checked").val(); の'radio01'の部分に変数を使いたい。 ■document.forms["MON"].hradio02.value の"MON"のフォーム名と、「hradio02」name部分に変数を使いたい。 http://kaicoo.blogspot.jp/2012/03/query_30.html 等を参考に元のソースから JSをまとめてみましたが、うまくいきません。 jQuery内の変数の記述方法を 教えていただけませんでしょうか? よろしくお願いいたします。 ★JSをまとめたサンプルソース <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <script src="jquery.js"></script> <script type="text/javascript" language="JavaScript"> <!-- function setVal(obj) { var formname = obj.form.name; var radioname = obj.getAttribute('name'); alert(formname); alert(radioname); //選択したラジオのvalueをhiddenに格納する document.forms[formname].h '+ radioname +' .value = $("input:radio[name='+ radioname +']:checked").val(); alert(document.forms[formname].h '+ radioname +'.value); } //--> </script> </head> <body> <table border="1"> <FORM name="MON"> <tr> <td> 結果: </td> <td> <input type="radio" name="radio01" value="良好" onClick="setVal(this);" >良好 <input type="radio" name="radio01" value="不良" onClick="setVal(this);"> 不良 <input type="hidden" name="hradio01" value="未入力です。"> </td> </tr> <tr> <td> 結果2: </td> <td> <input type="radio" name="radio02" value="良好" onClick="setVal(this);" >良好 <input type="radio" name="radio02" value="不良" onClick="setVal(this);"> 不良 <input type="hidden" name="hradio02" value="未入力です。"> </td> </tr> </table> </Form> </body> </html> ★元のソースのサンプル <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <script src="jquery.js"></script> <script type="text/javascript" language="JavaScript"> <!-- function setVal_01(obj) { document.forms["MON"].hradio01.value = $("input:radio[name='radio01']:checked").val(); alert(document.forms["MON"].hradio01.value); } //--> </script> <script type="text/javascript" language="JavaScript"> <!-- function setVal_02(obj) { document.forms["MON"].hradio02.value = $("input:radio[name='radio02']:checked").val(); alert(document.forms["MON"].hradio02.value); } //--> </script> </head> <body> <table border="1"> <FORM name="MON"> <tr><td> 結果: </td> <td><input type="radio" name="radio01" value="良好" onClick="setVal_01(this);" >良好 <input type="radio" name="radio01" value="不良" onClick="setVal_01(this);"> 不良 <input type="hidden" name="hradio01" value="未入力です。"> </td> </tr> <tr> <td> 結果2: </td> <td> <input type="radio" name="radio02" value="良好" onClick="setVal_02(this);" >良好 <input type="radio" name="radio02" value="不良" onClick="setVal_02(this);"> 不良 <input type="hidden" name="hradio02" value="未入力です。"> </td> </tr> </table> </Form> </body> </html>

  • aspの表示

    こんにちは。 aspでこのように作成し、予定では、for文が回るたびに□■がどんどん変わっていくはずだったのですが、 これを実行するとメイン関数が終了したあとにHTMLが表示されてしまいます。 何か方法はないのでしょうか? よろしくお願いします。 <% Option Explicit%> <SCRIPT Language="JavaScript"> var cnt=0 var msg="□□□□□□□□□□"; function aaa() { msg=msg.replace(/□/,"■") document.textForm.box.value=msg; cnt +=1 if (cnt >9 ){ msg="□□□□□□□□□□"; cnt =0 } } </SCRIPT> <HTML> <HEAD> <title>タイトル</title> </HEAD> <BODY> <FORM> <TABLE> <TR > <TD> </TD> </TR> </TABLE> </FORM> </BODY> </HTML> <% Call Main '--------------------------------------------------- ’メイン関数 '--------------------------------------------------- Sub Main() For i=0 to 3 Response.write("<" + "SCRIPT Language=JavaScript" + ">" + " aaa(); <" + "/" + "SCRIPT>") Next End Sub %>

  • DOM? tableの記述について

    よろしくお願いします。 tbody内をループさせて表示させるスクリプトを作ってみました。 ここで質問なのですが、表示内容を横にできるのでしょうか? イメージとしては・・ A01 A02 A03 B01   B02 B03 を以下のように A01 B01 A02 B02 A03 B03 no のようにしたいのです。 ただのHTMLなら <html> <head> <title>test</title> </head> <body> <table border=0> <tr> <td> <table border=0> <tr><td>A01</td></tr> <tr><td>A02</td></tr> <tr><td>A03</td></tr> </table> </td> <td> <table border=0> <tr><td>B01</td></tr> <tr><td>B02</td></tr> <tr><td>B03</td></tr> </table> </td> </tr> </table> </body> </html> みたいな感じでできると思うんですが、以下のソースだと どうしても表示されなくなります。どこをどうすると よろしいでしょうか?どうかよろしくお願いします。 ------------------------------------------------- <html> <head> <title>TABLE TEST</title> <script> function tsample() { var mybody=document.getElementsByTagName("body").item(0); mytable = document.createElement("TABLE"); mytr = document.createElement("TR"); mytablebody = document.createElement("TBODY"); for(j=0;j<4;j++) { mycurrent_row=document.createElement("TD"); mytablet =document.createElement("TABLE"); for(i=0;i<3;i++) { mycurrent_cell=document.createElement("TR"); mycurrent_cen=document.createElement("TD"); currenttext=document.createTextNode("NO "+j+" LNO "+i+" "); mycurrent_cen.appendChild(currenttext); mycurrent_cell.appendChild(mycurrent_cen); } mycurrent_row.appendChild(mytablet); mytablebody.appendChild(mycurrent_row); } mytable.appendChild(mytablebody); mybody.appendChild(mytr); mybody.appendChild(mytable); mytable.setAttribute("border","2"); } </script> </head> <body onload="tsample()"> </body> </html>

  • javascriptでラジオボタンをチェックさせて、それによってリンク

    javascriptでラジオボタンをチェックさせて、それによってリンクを飛ばしたいと考えています。 自分なりに調べて、作成したのですが、 フレームを利用しており、ページ全体を移動(top)したいのですが、フレーム内でしか表示されません。 <HTML> <HEAD> <TITLE>らじお</TITLE> <SCRIPT LANGUAGE="JavaScript"> function jump(){ var flag = 0; for(i=0; i<document.forms[0].url.length; i++){ if(document.forms[0].url[i].checked){ flag = 1; window.location.href = document.forms[0].url[i].value; } } if(flag == 0){ alert('ラジオボタンが選択されていません。'); } } </SCRIPT> </HEAD> <BODY> <FORM> <INPUT TYPE="radio" NAME="url" VALUE="表示したいURL.htm" checked>選択肢1<br> <INPUT TYPE="radio" NAME="url" VALUE="表示したいURL.htm">選択肢2<br> <INPUT TYPE="radio" NAME="url" VALUE="表示したいURL.htm">選択肢3ド<br> <INPUT TYPE="button" onClick="jump();" VALUE="移動"> </FORM> </BODY> </HTML> 上記状態で、あちらこちらに"_top"を挿入してみたのですが、うまくいきません。 どなたかお知恵を拝借出来ませんでしょうか?

  • Microsoftのクリップギャラリーのように元サイズのプレビューを新しいウインドウに表示したい

    サムネイル画像をクリックすると、別ウインドウが開いて元サイズの画像を見せるページを作りたいんです。 サムネイルをクリックするたびに新しいwindowが次々に立ち上がるタイプのものは作れたのですが、別のサムネイルをクリックするとプレビュー用ウインドウの内容が変わるタイプのものが欲しいので困ってます。 サンプルを改造してみたのがこれです。 function tile(imgname){ win2=window.open("","","width=350,height=200,resizable=yes") if (win2){ win2.focus() win2.document.open() win2.document.write("<head><title>"+bgname+"</title></head>") win2.document.write("<body><img src="+'"'+imgname+'"'+">") win2.document.write("<TABLE WIDTH='100%' HEIGHT='100%'><TR><TD VALIGN='bottom' ALIGN='center'><FORM><INPUT TYPE='button' NAME='ok' VALUE='Close' onClick='window.close()'></FORM></TD></TR></TABLE>") win2.document.write("</body>") win2.document.close() } あと、サムネイル画像につけるリンク先HTMLファイルの書き方も良くわかりません。 スクリプトのほうに<head>と<body>タグがあるので<html>タグだけ書いておけば良いんでしょうか?

専門家に質問してみよう