こんにちは、今回はホームページのワザについて教えて下さい~。
今フォームを作成してアンケートを回答してもらうページを作成中なのですが、そこで躓いてしまいました。
CGIでフォームを作成しているのですが、そのフォームの中の回答で必須項目を作りたいのです。回答していないで送信ボタンを押すとダイヤログが出て「××をご記入ください」のようなメッセージを出す・・・こんなのが理想なのです。
今普通にCGIでフォームだけは完了したのですが、そのチェック機能をjavaでつけても動いてくれないのです(泣)。全くjavaが働かず、普通に送信されてしまいます。
CGIを外してjavaだけでやろうとするとアドレスを予め設定していないという事でエラーになりますし・・・。今は
<SCRIPT language="JavaScript">
<!--
function Check(){
if(document.myform.ks.value==""){
alert("必須項目を記入してください。");
return false;
}
・
・
・
// -->
</SCRIPT>
</HEAD>
<BODY><!--××× CGI Program-->
<FORM action=http://www.CGIのテキストまでのパス.txt
method=post onSubmit="return Check()"><INPUT type=hidden value=××@×× name=sendto><INPUT
type=hidden value=/mail/××.htm name=success><!--ここまで--><A
name=TOP></A>
としてあります・・・。
すみません!どなたかわかる方!ぜひ教えて下さい、お願いいたします!
No.6ベストアンサー
- 回答日時:
</SCRIPT><SCRIPT language="JavaScript">
<!--
function kakunin() {
if (document.F1.項目名.value == "") {
alert("必須項目を記入してください。");
document.F1.項目名.focus(); ←ココがありませんね。
return(false);
}
return(true); ←ココがありませんね。
} ←ココがありませんね。
// -->
// </SCRIPT></head>
<FORM NAME="F1" METHOD=POST ACTION="http://www. ←NAME="××"がありませんね。
~.ne.jp/vpack/mail/mail.cgi" onSubmit="return kakunin()">
<input type="hidden" name="_to_" value="×××@×××.ne.jp">
<input type="hidden" name="_subject_" value="×××">
<input type="hidden" name="_location_" value="http://www.~.htm">
私もharaponさんと同程度の知識で上記のように作り現在動いています。
少しでも参考になれば。
参考URL:http://tohoho.wakusei.ne.jp/
nishimoriさん、ご回答ありがとうございました!こんなにアラがあったのですね・・・。やはり何も分かっていない事を暴露してしまいました(苦笑)。nishimoriさんはお仕事で作成されていらっしゃるのですか?私も仕事としてできるように頑張ります!ありがとうございました!
No.5
- 回答日時:
document.myform.ks.value==""について簡単に説明します。
document : 表示のためのオブジェクト
myform : <FORM>のname属性(名前)
ks : <INPUT>のname属性(名前)
value : 値
myformという名前のFORMオブジェクト(<FORM>~</FORM>)の中にksという名前のテキストボックスがあり、そこに入力された値(value)が無い場合という意味です。
そこで、例を修正すると↓になります。
<FORM action="http://www.CGIのテキストまでのパス/****.cgi"
method="post" name="myform" onSubmit="return Check()">
//チェックするテキストボックス
<INPUT type="text" name="ks">
</FORM>
以上です。
あと、原因が特定しやすいので出力されたエラーをここに書いておくと良いですよ。
wolfwoodさん、こんにちは!!ご回答ありがとうございます!
素人の私にもわかりやすく教えて頂いて本当にありがとうございます。やはりコピー&ペーストだけじゃなく、少し考えて処理する事にします(笑)。おかげさまで少し進歩できました。エラーを書く、盲点でした。次回からそうさせて頂きます!
ありがとうございました!
No.4
- 回答日時:
こんにちは。
これは、たぶん、JavaScirptの解釈間違いかと。
if((document.myform.ks.value==="")
の意味が把握できていないのかな、と思います。
(あくまで、上にあるソースから判断しているのですが)
乱暴に書いてしまいますが、「フォーム名『myform』の『ks』という名のフィールドの値が空白であれば」という意味になるので、現在の<FORM>タグないに、それが見当たらないことが第一の原因では?
また、</FORM>と閉じタグもないので、それも原因のような。
あと、CGIのファイル名、『.txt』と拡張子なってますが、『.cgi』ではないのでしょうか・・??
とりあえず、参考になるページ、乗せて置きますね。
参考URL:http://www.openspc2.org/CD-ROM/imasugu3/cd-rom/s …
ss_sionさん、ご回答ありがとうございました!
if(document.myform.ks.value==="") の意味ですが、実は全く理解できていないのです。WEBで探してコピーなので・・・。お恥ずかしいです。
あと、一応/FORMは
<TD align="center"><INPUT type="submit" value="送信"></TD></TR>
</TBODY></TABLE></FORM>
のように記入してありました。すっかり意気消沈し、JavaSだけにしようかな、と弱っておりますが、もう少し粘って頑張ってみます。ありがとうございました!
No.3
- 回答日時:
まず、JAVAとJavaScriptは別物です。
はっきりさせましょう。回答ですが、質問文のソースにはmyformやksがないのではっきりしたことは分かりませんが、
myformという名前のフォームの中のksという名前のテキストボックスに何かが入力されているかどうかは、
書かれている通りのif(document.myform.ks.value == "")で判断出来ると思います。
他の方法としてはif(document.myform.ks.value.length == 0)といった条件分岐も考えられます。
ですが、その前にどの段階でJavaScriptが動かないかを調べる必要があります。
まずCheckという関数が呼ばれているかどうかです。
もしかしたら他のエラーでこけているのかも知れません。
ブラウザがIEならば、[ツール]→[インターネットオプション]→[詳細設定]→[スクリプトエラーごとに通知を表示する]
にチェックが入っていますか?
入っていればエラーの個所と内容が、わかりにくく(笑) 表示されるはずです。
とりあえず、アドバイス出来るのはこれぐらいです。
参考にならなけばすいません。
kumagoro-さん、ご回答ありがとうございます。すみません、JavaScriptでした。この後、すっかりCGIをあきらめて、javascriptでメールを送信するようにしたところ、メールで送ってくれるようになりました。私にはCGIとjavaSの兼ね合いは高い壁でした・・・。エラーの個所を教えてもらっても本当にわかりずらく(泣)、それすらもわかりませんでした。でももう少し頑張ってみます。ありがとうございました!
No.2
- 回答日時:
こんにちは、hide1978です。
授業中に学校からアクセスしてます。(^^;授業中、ちょいと暇だったんで調べてみたら・・・なんとharaponさんが知りたい内容が、そのまま解説されているサイトを発見しました。(^^;
どぞ、参考URLを参照してください。ページの真中位に書いてありますです。(^^)/
参考URL:http://www2.justnet.ne.jp/~ok/hp02_03.htm
hide1978さん、またまたご回答ありがとうございます!
素人の私にも理解できるかどうか、わかりませんが(笑)教えていただいたページを拝見してもう少し頑張ってみます!ありがとうございました!
No.1
- 回答日時:
JavaScriptは未経験なので解りませんが、わざわざJavaで記述しなくても[KENT-WEB]さんで配布されている[POST MAIL]などを使えば簡単ですよ。
この[POST MAIL]には必須項目を設定する機能が搭載されていますし、設定もいたって簡単です。何か理由があって、どうしてもJavaで判定をしたいのであれば別ですが。(^^;
とりあえず参考までに・・・。
参考URL:http://www.kent-web.com/data/postmail.html?
こんにちは、hide1978さん。
早速のアドバイスありがとうございました。しかし私はperlがわからない上にワケあって(c)をWEB上に表示する事ができません。perlがわからないだけなら勉強しますが、配布元を記入しなくてはならないのはちょっと難しいのでした。
せっかく教えて頂いたのに申し訳ありません。ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
先日ウェブデザイン技能検定三...
-
htmlソース編集で、各タグを何...
-
レイアウトが異なる別のワーク...
-
iPhoneで HTMLファイルを閲覧
-
静止画画像をクリックすると音...
-
2カラム、左メニュー、特定パー...
-
css初心者 フレックスボックス...
-
webディベロッパーについて詳し...
-
CSSを教えて下さい webデザイナ...
-
CSSを教えて下さい webデザイナ...
-
CSSでinputのテキストカラーを...
-
excelをhtmlに変換した途端、一...
-
CSS、Bootstrapについて contai...
-
<input>のstep属性に違反する入...
-
Affinger6でトップページに記事...
-
メモ帳の段落の揃え方
-
HTMLタグのあるCSVファイルを利...
-
WEBページを強制的に横画面で見...
-
リンクバナーのHTMLタグ。画像...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1アクションでPOST・GET、両方...
-
複数のフォームを一括で送信す...
-
submitをボタン以外にするには
-
フォーム要素以外にもname属性...
-
<a href=**?***=***>をGET方式で
-
長文のmailtoの使い方
-
type="hidden"を使って時刻を送信
-
submitの処理の後別の画面を表...
-
リンクをクリックした時にform...
-
mailtoについて
-
GETをPOSTに変更したところ 送...
-
URL パラメータを使ってフォー...
-
同じnameのhiddenで別々の内容...
-
Form送信ボタンのダブルクリッ...
-
■mailtoで文字化けする
-
送信ボタン押下時に値が未入力...
-
お問い合わせフォームの送信後...
-
mailtoでバイナリーファイルを添付
-
inputtype=hiddenとは?
-
input type="search"の「×」
おすすめ情報