買い物かごの中身のページに画像を使いたいのですが、
どのようにしたらいいのでしょうか?
print "<input type=submit value=\"order\"> <input type=reset value=\"reset\"></form><p><br>\n";
となっているところを
print "<input type=image src=\"http://www.yahoo.co.jp/image/order.jpg\"> <input type=reset value=\"reset\"></form><p><br>\n";
のような感じで変更してみたのですが、
画像はちゃんと表示されるものの、Orderボタンを押して次の確認ページに移ると
x 12
y 32
みたいな余計なデータが勝手にテーブル内に表示されてしまって困っています。
上記の変更をするぐらいで、なんでこんなことがおこるのかよく分かりません。
どなたか知っている方がいらっしゃたら、教えてください。
お願いします。
No.5ベストアンサー
- 回答日時:
#4のwolfwoodです。
少し説明不足でしたね。すみません。
どのようなエラーかわからないのですが、
もうひとつ変える部分があります。
それは<FORM name="フォーム名">の部分です。
このフォーム名はひとつの<FORM></FORM>で囲まれた部分につけられる名前です。
そして、リンクを<A href="javascript:document.フォーム名.submit()">と書きます。
このフォーム名を半角英数字で決めてください。
CGIの方を見ましたが、すでにフォーム名が設定されている部分もあるようですね。もしすでに設定されているのでしたら、<A href="document.フォーム名.submit()">のフォーム名を設定されているものに変えてください。
というか同じ処理がCGI内で行われていますね。
<input type=button value='*********' onClick='hogehoge()'>
こういう部分がありますよね。これを
<A href='javascript:hogehoge()'><IMG src='画像URL'></A>
としてください。
hogehoge()の部分ですでにsubmit()の処理が記述されていました。
これで直らない場合はエラーの内容、部分を教えてください。
この回答への補足
wolfwoodさん、ご丁寧なアドバイス、本当にありがとうございます。
さっそくで申し訳ないんですが、
<input type=button value='*********' onClick='hogehoge()'> の部分が、
私の使っているCGI(前のバージョンなんです)にはそのような記述が見当たりませんでした。
そこで最新版をダウンロードしてみると、
<input type=button value=' → 最終確認へ進む ' onClick='Kakunin()'>
という部分を見つけまして、私は「これだ!」と思ったのですがあってますか?
あっているという前提で
<SCRIPT language="JavaScript">
<!--
SubmitCheck=false;
function Submit() {
if(SubmitCheck==false){ SubmitCheck=true; document.Order.submit(); }
else{ bottonAlert(); }
}
function bottonAlert() {
Check = navigator.userAgent.indexOf(";");
if(Check != -1 && navigator.userAgent.substring(Check+2,Check+10)=="MSIE 3.0") { alert("ボタンが2度押されましたので、再度実行してください。"); }
else { alert("送信中ですのでお待ちください。"); }
}
function Kakunin() {
if(SubmitCheck==false){ Submit(); }
else { bottonAlert(); }
}
//-->
</SCRIPT>
と
<SCRIPT>
<!--
document.write("<A href='javascript:Kakunin()'><IMG src='画像URL'></A></form><p><br>\\n");
// -->
</SCRIPT>
を追加してみたのですが、ボタン自体が表示されませんでした。
そこで、元々の
<SCRIPT>
<!--
document.write("<input type=button value=' → 最終確認へ進む ' onClick='Kakunin()'> <input type=reset value='× 書き直し'></form><p><br>\\n");
// -->
</SCRIPT>
に変更してみたのですが、これでもボタンが表示されませんでした。
なので、wolfwoodさんのアドバイス以前の私の問題のようです。
いま、ちょっと色々自分で試せてないので、もうすこし時間をかけて色々やってみようと思います。それとも上記の記述で明らかにおかしいところでもあるのかな?
またお聞きしたいことが出てくるかもしれませんが、
お時間あったらまたアドバイスして頂けたら嬉しいです。
うまくいったらそれも報告されていただきますね。では。
wolfwoodさん、遅くなりましたが、おかげさまでできました!
どうもありがとうございます。
結局、<form method=$method action=\"$webform\">
を
<form method=$method action=\"$webform\" name=\"Order\">
にしたらちゃんとうごいてくれました。
文法の意味もよく分かりませんでしたが、数撃ちゃあたるんですね。
色々どうもありがとうございました。
No.4
- 回答日時:
原因は解ったようなので、画像submitボタンの設置について書きます。
JavaScriptを使えば実現できます。
画像リンクの方法で遷移先をJavaScriptの処理に置き換えれば良いです。
例)
<FORM name="test" method="***" action="***">
<A href="javascript:document.test.submit()"><IMG src="画像URL"></A>
</FORM>
この回答への補足
せっかく教えて頂いたのに恐縮なんですが、
上記はあくまで例ですよね?
でも僕には上記のどこの部分を変更するべきか悩んでおります。
2つの***と画像URLの部分を変更するだけであってますか?
その3箇所を変更してやってみたのですが、
うまく次のページに移動してくれません。
そしてIEの画面の左下に「ページでエラーが発生しました。」とでてしまいます。
それとも他に修正するところがあるかな?
お時間合ったら、アドバイスお願い致します。
No.3
- 回答日時:
<input type="image"> を submit として使用すると
クリックした「x座標」と「y座標」が送信されます。
もともと x座標 と y座標 を送信するものなので
「余計なデータ」とは言えず、「送信しない」という設定には出来ないと思います。
CGI の大幅な改造が出来るほどの知識がないと
ちょっと難しいのではないでしょうか。
JavaScript をよく見たら、何とかなるかも知れないですが。
あの数値は、クリックした「x座標」と「y座標」だったんのですね。
全然、分かりませんでした。
僕みたいな人が安心して使うには画像をしようしない方がいいということでしょうね。
アドバイスどうもありがとうございました。
No.2
- 回答日時:
簡易バスケットでしたか。
じゃあ専門家は辞めて一般にしときますね。
触ったことはなかったので。Ver.3なら得意なんですが。
さて、こちらのローカルでも同様の症状が出ました。
$_になぜか余計なデータが入っているようですね。
根本的な解決じゃないんですが、webform.cgiのデフォルトで
160行目に
foreach (0..$count-1) {
とあるのを
foreach (0..$count-3) {
とすると画面表示上は消えます。この操作で他に
どのような悪さをするかわかりませんので
このスクリプトにする場合は十分検証を行って
ください。
根本的な解決にならず申し訳ありません。
#JavaScriptが動いているのでその辺とimage表示のタグが
干渉しているような気もするのですが確証は持てません。
さっそくのアドバイスどうもありがとうございます。
>根本的な解決にならず申し訳ありません。
そんなことありません。感謝感謝です。
アドバイス通り、検証を充分してみますね。
No.1
- 回答日時:
>画像はちゃんと表示されるものの、Orderボタンを押して次の確 認ページに移ると
次のページのソースがわからないのでお答えのしようがないですね。どこで配布されている買い物カゴでソースの何行目、という情報があればお答えできるかもしれませんよ。
今のバージョンをダウンロードしてみたのですが、
中身が相当変わっていまして、僕が使っているのはだいぶ前のやつみたいですね。
今のやつだと
285
286
287
行めがその部分だと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
number 改行が追加できない
-
apacheでPerl CGIが作動せず、5...
-
フォームを再送信しますか?
-
htmlからパラメータで、cgiに渡...
-
生成AI画像について
-
CGIの設置が分かりません・・・
-
POSTメソッドの最大容量について
-
CGIでgrap関数を使用してデータ...
-
CGIの記述について教えてくださ...
-
CGIが読み書きするデータファイ...
-
フォームメールを受信すると文...
-
ホームページでCGIのフォームを...
-
(フリーの)ツリー掲示版CGI、...
-
windows フォト アプリでmp4の...
-
html5,dhtml内のリンク先添付フ...
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
ホームページにCGIを設置したの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで集計したい。
-
フォームを再送信しますか?
-
apacheでPerl CGIが作動せず、5...
-
ホームページでCGIのフォームを...
-
生成AI画像について
-
/bin/awk '{print $5}'ってどう...
-
入力フォーム(電話番号)
-
(フリーの)ツリー掲示版CGI、...
-
古ーくからフリーのtree.cgi掲...
-
VBAで条件から範囲を指定して色...
-
ホームページにメールフォーム...
-
一番簡単なCGI,掲示板の設置教...
-
CGIって何ですか?簡潔に教えて...
-
サーバーのエラーでおしえてく...
-
サイト訪問者の情報を取得したい
-
htmlからパラメータで、cgiに渡...
-
CGIで出力するhtmlの<!DOCTYPE ...
-
cgiからsendmailを送信で文字化け
-
POSTメソッドの最大容量について
-
ホームページにCGIを設置したの...
おすすめ情報