ボタンでHPに飛ばしているのですが、エラーになる場合があって困っています。

 コードは以下の通りです。
   <FORM action="http://www.xxx.yy.zz/" method="POST">
    <INPUT type="submit" value="HPへ">
   </FORM>

 指定したURLによってエラーになるところとならないところがあるのですが、これはサーバ内のどこの設定によるものなのでしょうか?
 (試しにgooやYahooを指定するとOKなのですが、googleやlycosはダメのようです。
 エラーの場合、「400 BadRequest」や「HTTP 405 - リソース未許可」などが出ます。
 しかもlycosでは、自社エラーページを表示しているのですが、どういう設定なのでしょう?)

 現行ではmethod="GET"としている(これなら上記エラーは出ない)のですが、これだとURLの後ろに「?」がついてしまって、これによってエラーになってしまうHPがまれにあって、これまた困っています。
 (JavaScriptは使用不可で、文字リンクもダメという方針なので、画像リンクしかないかなぁと思っているのですが。)

 もしJavaScriptも画像も使わずに、ボタンで、URLに?を出さない方法があったら、是非教えてください。
 (1番知りたいのは、↑これです)

以上よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

こんにちは、honiyonです。



 POSTを、index.htmlに対して試してみました。

 結果は、
  The requested method POST is not allowed for the URL /index.html.
 という事で、察するに *.htmや、*.htmlに対しては POSTメソッドは門前払いという事になりそうです。 CGIに対してしかダメという事になりそうですね~。
 使用したサーバーは、Linux + Apache です。

 送信すべきデータがある/ない以前の問題でしたね(^^;
 今回のケースではPOSTメソッドは無理、という事になりそうですね。 少なくともApacheの設定で、「POSTを全てのケースで許可」というのはなかったと思います。 他のWWWサーバーで、HTMLに対してもPOSTを許可してくれるものがあればよいのですが(^^;

 参考になれば幸いです(..
    • good
    • 1
この回答へのお礼

なるほど、やはりPOSTがいけないんですね。
まぁ遷移先のサーバの設定を変えられるハズもないので、大人しく画像リンクにすることにします。
いろいろ調べていただき、本当にありがとうございました。

お礼日時:2001/07/10 01:12

こんにちは、honiyonです。



 なるほど、そのような理由で JavaScriptがダメだったのですね。

 かなり強引で美しくない方法(笑)ですが、こんな事考えてみました。

 <FORM action="http://www.xxx.yy.zz/jump.cgi" method="GET">
  <INPUT type="submit" value="HPへ">
 </FORM>

 この jump.cgi は、目的のページ(HPのURL)への location: を吐き出すだけです。
 これなら間違いないでしょう。


 ・・・それと今ふと気づいたのですが、ひょっとして POST出来ないのは、
 送信すべきデータがないからではないのでしょうか?

 <FORM action="http://www.xxx.yy.zz/" method="POST">
  <INPUT name="dummy" type="hidden" value="dummy">
  <INPUT type="submit" value="HPへ">
 </FORM>

 あくまで推測ですが。 時間がなくてこちらでは試せていません(^^;スイマセン

 参考になれば幸いです(..

この回答への補足

遅くなって、すみません。
ダミーのデータは前に試したのですが、やっぱりダメでした。

Location: を使うというのは思いつきませんでしたが、リンクで軽く飛べるものを、わざわざCGIにするというのは、多分社内では通らないでしょうね。

やっぱりHTMLのみでは、難しそうですね。

あと、このPOSTだと拒否(?)する設定っていうのが、どのようにされているのか分かる方、いませんか?

補足日時:2001/07/06 13:56
    • good
    • 1

こんにちは、honiyonです。


 先ほどの私の方法でダメとなると、これしかないかもしれません。

<FORM>
<input type=button value="HPへ" onclick='location.href="http://www.foo.co.jp/">
</FORM>

 JavaScriptとなってしまいますが...(^^;
 参考になれば幸いです(.. 

この回答への補足

 一応その辺は専門なので分かるのですが、何十万もユーザーがいると、うかつに「JavaScriptでしか遷移できない」というものは作れないんですよ。とほほ・・・

補足日時:2001/07/05 00:23
    • good
    • 0

こんにちは。

itohhといいます。

まずはじめに。
他社のHPに勝手に、POSTやGETで飛ぶのは、止めてください。
最悪の場合、そのHPのWebサーバが停止してしまいますよ。
まー、TOPページなら大丈夫ですかねぇ。でも、わたしのHPには、勘弁してってとこです。

やりたいことがいまいちわからないのですが、
もし、他のHPへのリンクでしたら、
<a href="http://www.xxxxxxx.ne.jp/">あいうえおホームページ
とするのが、一般的だと思います。
(これのことを、文字リンクと言っているのでしょうか?)

画像リンクなら
<a href="http://www.xxxxxxx.ne.jp/">
<img src="yyyyy.gif"></a>
といったところでしょうか?

この回答への補足

 すみません、自社サイトに登録しているユーザが作成した掲示板から、その人のHPに飛ばすボタンの処理で困っています。
 このようなエラーが出る事を最近聞かされて、何でだろうと思って2,3度試した次第です。これからは安易に他社HPに飛ばすのは辞めます。

 文字リンクについてですが、通常のリンクを画像リンクと区別するためにこういう言い方をしたものです。ですので、この方法は使えません。
 画像リンクなら全ての問題が解決するのは分かっているのですが、一応「ボタンでもできるのか?」「どういう設定のせいで起きるものなのか?」が聞けたらなぁと思って質問してみたのです。何かお分かりになりませんか?

補足日時:2001/07/04 22:38
    • good
    • 0

こんにちは、honiyonです。


 改善されるか分かりませんが...(^^;

<FORM action="http://www.xxx.yy.zz/index.html" method="POST">
  <INPUT type="submit" value="HPへ">
</FORM>

 というような感じで、ファイル名まで指定してみてはどうでしょう?

この回答への補足

私もそうかなと思い、以前やってみたのですが、だめでした。

補足日時:2001/07/04 16:28
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QonClickに複数の関数を挿入する方法

初心者なのですがアニメーションの関数anime1、anime2、anime3を作成し、onClickに下記のように設定しました。
クリックするとアニメーション2つの設定ではは動くのですが、3つ目を設定すると動かなくなります。
通常はこのような設定はしないものなのでしょうか?
教えてください。
よろしくお願いします。
<INPUT type="button" value="START" onClick="anime1(), anime2()">・・・OKです。
<INPUT type="button" value="START" onClick="anime1(), anime2(),anime3()">・・・動きません。

Aベストアンサー

セミコロンでつなぐのが常道ですが、3つ以上なら
別途function化したほうが、可読性が高くなると
思います。

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。

Qリンクをクリックした時にformからPOST送信したい。

HTML、PHP、JavaScript等でサイトを作っているのですが・・・。

【実現出来ている例】
<form name="form1" method="post" action="Next.php" onSubmit="return InputCheck()">
 <input type="submit" value="送信">
</form>
 submitボタンを一つ置いて、それがクリックされた場合に
formの内容をPOSTで送信する。

【実現したい例】
<form name="form1 method="post">
 <a href="Next.php" onClick="???">???</a>
</form>
 formの中のリンクをクリックされた場合に、formの内容を
POSTで送信したいのですが、その実現方法がわかりません。
GETで送るという手もあり得ますが、今回はどうしてもPOST
したいのですが。

Aベストアンサー

<form name="form1" method="post" action="Next.php">
<a href="#" onClick="document.form1.submit();">???</a>
</form>

onclick内の対象がform1としてあてているので、
アンカータグは別にform内に記述しなくても大丈夫です

form内にhidden等でnameとvalueを持ったパラメータがあればそれも送られます

アンカータグから動的にvalueを変更したい場合は、
document.form1.hogename.value = 'hoge';
等をsubmit()の前に行えば可能です

ただしform内に
<input type="hidden" name="hogename" value="">
を記述する等、変更先パラメータの元を用意する必要がありますのでご注意下さい

QHTMLファイル同士での値渡し

困っています。

HTMLファイルからHTMLファイルへ移動するときに、
HTMLファイル1でJavaScript で算出された値を
HTMLファイル2へ渡して使用したいのです。

showModalDialogだとダイアログにしか渡せないし・・・。
このように、値をそのまま次のページに渡すための方法を教えてください。
お願いします。

Aベストアンサー

すみません。うっかりしてました。

document.write(FORM[v1]);
では、v1を変数と認識してしまうので、エラーになってしまいますね。

document.write(FORM.v1);  // 「FORM.v1」です
あるいは
document.write(FORM["v1"]);
としてください。

QHTMLフォームのSELECTの幅を一定にするためには?

HTMLフォームのSELECTの幅を一定にするためにはどのようにすれば
いいのでしょうか?

CSS等で設定できるとありがたいのですが、やり方がわかりません。

Aベストアンサー

<select style="width: 200px">

Q「httpステータス404」というエラーが出ます。

「httpステータス404」というエラーが出ます。

java初心者です、宜しくお願い致します。
EclipseでServletを書いてやりましたが、以下のようなエラーが出ます、
原因はなんでしょうか、宜しくお願い致します。
「httpステータス404-/Servlet%E7%B7%B4%E7%BF%92/ ServOutput」

Aベストアンサー

Not Found
という意味です。
そのファイルが無い。あるいはリンクが間違っています。
詳しくは参考URLをみてください。

参考URL:http://ja.wikipedia.org/wiki/HTTP_404

Qjavascriptでセレクトボックスの"selected"を動的につ

javascriptでセレクトボックスの"selected"を動的につける方法について質問させてください。

現在、以下のようなフォームを作成しました。

<select name='year'>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
</select>月

<select name='day'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
<option value='13'>13</option>
<option value='14'>14</option>
<option value='15'>15</option>
<option value='16'>16</option>
<option value='17'>17</option>
<option value='18'>18</option>
<option value='19'>19</option>
<option value='20'>20</option>
<option value='21'>21</option>
<option value='22'>22</option>
<option value='23'>23</option>
<option value='24'>24</option>
<option value='25'>25</option>
<option value='26'>26</option>
<option value='27'>27</option>
<option value='28'>28</option>
<option value='29'>29</option>
<option value='30'>30</option>
<option value='31'>31</option>
</select>日


このセレクトボックスに、例えば今日の日付"2010年9月30日"だったら、それぞれの年、月、日の<option>に"selected"をつけたいのですが、javascriptではどのようにして実現したら良いのでしょうか?

よろしくお願いします。

javascriptでセレクトボックスの"selected"を動的につける方法について質問させてください。

現在、以下のようなフォームを作成しました。

<select name='year'>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8...続きを読む

Aベストアンサー

こんな感じで・・・

<script>
window.onload=function(){
var f=document.getElementById("f0");
var ymd=new Date();
checkSelect(f.elements["year"],ymd.getFullYear());
checkSelect(f.elements["month"],ymd.getMonth() +1);
checkSelect(f.elements["day"],ymd.getDate());
}
function checkSelect(obj,val){
for(var i=0;i<obj.length;i++){
if(obj[i].value==val){
obj[i].selected=true;
break;
}
}
}
</script>
<form id="f0">
<div>
<select name='year'>
<option value='2009'>2009</option>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
</select>年

<select name='month'>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
</select>月

<select name='day'>
<option value='29'>29</option>
<option value='30'>30</option>
<option value='31'>31</option>
</select>日
</div>
</form>

こんな感じで・・・

<script>
window.onload=function(){
var f=document.getElementById("f0");
var ymd=new Date();
checkSelect(f.elements["year"],ymd.getFullYear());
checkSelect(f.elements["month"],ymd.getMonth() +1);
checkSelect(f.elements["day"],ymd.getDate());
}
function checkSelect(obj,val){
for(var i=0;i<obj.length;i++){
if(obj[i].value==val){
obj[i].selected=true;
break;
}
}
}
</script>
<form id="f0">
<div>
<select name='year'>
<opt...続きを読む

Qhtml で 変数を定義できますか?

html(できればjava不使用)で変数に文字列をいれてつかう、またはそれに近いことはできないでしょうか?

例**************************
$color1="#000000"

<tr bgcolor=$color1>内容1<tr>
<tr bgcolor=$color1>内容2<tr>
****************************
みたいな感じです

Aベストアンサー

調べりゃ分かることは???だけど。

CSS2で無理やり作れば・・簡単だけど・・・
生成内容、自動番号振り、リスト ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/generate.html )
 本来はXSLTで作るほうがよいかと・・・
 <th><xsl:value-of select="parson" />の歌</th>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
<title>サンプル</title>
<meta name="author" content="ORUKA1951">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rev="made" href="mailto:orika1951@hoge.com" title="send a mail" >
<link rel="START" href="../index.html">
<style type="text/css">
<!--
.parson1:before{content:"田中";}
p.age1:after{content:"36歳";}
-->
</style>
</head>
<body>
<h1>サンプル</h1>
<p class="parson1">は男の子</p>
<p class="parson1 age1">の年齢は</p>
<p>私の彼氏は<span class="parson1">君だよ</p>
</body>
</html>

調べりゃ分かることは???だけど。

CSS2で無理やり作れば・・簡単だけど・・・
生成内容、自動番号振り、リスト ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/generate.html )
 本来はXSLTで作るほうがよいかと・・・
 <th><xsl:value-of select="parson" />の歌</th>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
<title>サンプル</title>
<met...続きを読む

QリダイレクトでPOST

教えてください。

リダイレクトの際、POSTで次のページにデータを渡すことは可能でしょうか?

GETだと
header("Location: "a.php?no=".$no);
と、問題なくできるのですが、
できれば、パラメータを隠したいと思います。

以上ですが、よろしくお願いします。

Aベストアンサー

多分できないです。
それに、結局クライアント側に情報を送信しているのだから、POSTにしたところでパラメータを隠した事にはならないですし。
本当に隠すならサーバ側でセッション情報を引き継ぐような形にしないとダメでしょう。

AJAXのかたちにして、ページ遷移を見えなくするというのが手っ取り早いかも。

Qequalsの逆

javaで、文字列の場合は比較演算子の「==」は用いずに

if ((str1.getText()).equals(str2)){
(※…str1,2は文字列)

と書きますよね?
この逆で、文字列str1とstr2は等しくないとき、にはif以下の条件文をどのように書けばよいでしょうか?

Aベストアンサー

>if !((str1.getText()).equals(str2)){

あくまで
if(){
}


!(str1.getText()).equals(str2)
が入っているので
if !((str1.getText()).equals(str2)){
じゃなくて
if (!(str1.getText()).equals(str2)){
こう。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報