![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
<SCRIPT language=JavaScript><!--
function check()
{
・
・
・
<FORM action="mailto:××@××.com method="post" enctype="text/plain" name="myform" onSubmit="return Check()">
で未記入のものを確認してアラートを出すようにしています。
この機能にフォーム送信後、指定ページへ移動するようにしたいのですが、それは
可能ですか?となると別ページへの移動は
function Start(){
setTimeout('window.location.href="他のページのファイル名.htm"',5000);
}
// -->
</SCRIPT>
・
・
・
<FORM action="mailto:××@××" method="post" enctype="text/plain" name="myform" onSubmit="Start()">
になると思うのですが、onSubmit=の後に"return Check()"と
"Start()"というのは両方使えるものなのでしょうか?;でつないでも正しく動いてくれません。ページ移動が無理なら、"return Check()"を使う、
sent=0
function Check(){
if(sent==0){
sent=1;
return true;
}else{
if(confirm("1度送信された可能性があります。")){
return true;
}else{
return false;
}
}
}
かなと思ったのですが、これだと未記入の場合のアラートが出なくなります。
もう行き詰まってしまいました・・。
解決策をご存知の方、ぜひお願いします!
No.5ベストアンサー
- 回答日時:
二つのチェックをくっつけてみました。
空白の場合と文字制限を条件分岐でわけました。
あと、エラーの場合アラート表示のあとにreturn false;を入れないと処理を止めて(抜けて)くれませんので注意してください。
例)
<SCRIPT language=JavaScript><!--
function check()
{
txt_1 = document.myform.sp.value;
n = txt_1.length;
//まず、空白かどうかチェックして、空白でなければ200文字以内かチェックする。
if(txt_1==""){
alert("希望を200文字程度で記入してください。");
return false;
}else if(n > 200){
alert("感想は200文字以内でご記入下さい。");
return false;
}
txt_2 = document.myform.wp.value;
m = txt_2.length;
if(txt_2==""){
alert("希望を200文字程度で記入してください。");
return false;
}else if(m > 200){
alert("希望は200文字以内でご記入下さい。");
return false;
}
window.location.href="http://www.××.com";
}
この回答への補足
皆様、本当にありがとうございました。おかげさまで無事形になりました。勉強するつもりですが、また行き詰まったらその時はまたよろしくお願いいたします。ありがとうございました!
補足日時:2002/05/31 11:41あぁぁぁ、wolfwoodさん、ありがとうございます!!わざわざまとめていただけるとは・・・。本当になんとお礼を言っていいか・・・。
wolfwoodさんのおかげで無事動いてくれました。一箇所おかしいところ(1つめの希望を正しく入れて2つ目のフォームをクリックしただけで記入してくださいのアラートがでる)がありますが、頑張って直します!本当に本当にありがとうございます!うれしくて踊ってしまいそうです(笑)。
No.4
- 回答日時:
はじめましてSINといいます。
下記のURLの掲示板にも同じようなことが書いてありました。
よろしければ参考にしてください。
「onSubmitで複数呼び出したいのですが」というテーマの
ところなどいいのではないかと思います。
参考URL:http://board.allabout.co.jp/javascript/
始めまして、SINさん。ご回答ありがとうございます!教えていただいたアドレス、早速拝見しました!皆さん高度なことで悩んでいらっしゃる・・・。でも頑張っている(悩んでいる)のが私だけじゃない事がわかりました(笑)。これからも躓いた時に活用させて頂きます。ありがとうございました!
No.3
- 回答日時:
チェックの関数の最後にページ移動の処理を入れればよいと思います。
チェックに引っかかった場合(return(false)の時)、その時点で処理が止まります。
チェックが通り最後まで処理が流れた場合のみページ移動します。
ただし、これはフォームのactionがmailtoの時のみ有効です。
URLの場合、actionのURLの方に移動します。
例)
function Check(){
チェック処理
window.location.href="~";
}
wolfwoodさんこちらの回答もありがとうございます!毎回どうもすみません。
上記ですが、現在、
if(document.myform.sp.value==""){
alert("感想を200文字程度で記入してください。");
return false;
}
if(document.myform.wp.value==""){
alert("希望を200文字程度で記入してください。");
return false;
}
return true;
}
// -->
</SCRIPT>
となっているのです。しかし私がよくわからなかったので、もうひとつのチェック
機能を続けて
<SCRIPT language=JavaScript><!--
function check()
{
txt = document.myform.sp.value;
n = txt.length;
if (n > 200) alert("感想は200文字以内でご記入下さい。");
txt = document.myform.wp.value;
n = txt.length;
if (n > 200) alert("希望は200文字以内でご記入下さい。");
}
// --></SCRIPT>
と続けているのです。<SCRIPT language=JavaScript><!-- </SCRIPT>が2つあるのです(苦笑)。両方ともチェックなのですが、1つはブランクだった時のアラート、もうひとつは文字オーバーの時のアラートです。
これら全てをチェックして、クリアした時にメール送信とともに別ページへ移動、がしたいのですが、難しいでしょうか。
if (n > 200) alert("希望は200文字以内でご記入下さい。");
window.location.href="http://www.××.com";
といれると「希望を200文字程度で記入してください」のアラートがでてすぐにページジャンプしてしまうのです。く~~~。難しい!
もう少しあがいてみます!ありがとうございました!
No.2
- 回答日時:
度々ありがとうございます。本当にお茶の一杯でもご馳走したくらいです。
早速拝見しました。・・・難しいところも多く道のりは遠かったのですが、めげずに頑張ります!本当に本当にありがとうございます!
No.1
- 回答日時:
ご苦労様です。
<input type="hidden" name="_to_" value="メールアドレス">
<input type="hidden" name="_subject_" value="件名">
のあとに↓
<input type="hidden" name="_location_" value="http://www.~">
でよいのでは。
あぁぁぁ、またしてもnishimori様!ありがとうございます!!
何回もアドバイスいただきまして、全てソースを見て頂きたいほどです!
上記の方法ですが、これってもしかしてCGIでしょうか?今はJavaScriptのみで作成してしまっているので、<input type="hidden" name="_to_" value="メールアドレス"> と<input type="hidden" name="_subject_" value="件名"> の記述がないのです・・・。
確かにCGIで作成していた時は
<FORM action=http://www.×××/cgiemail/cgi-email-v2.pl5/mail/××.txt
method=post><INPUT type=hidden value=××@××.ne.jp name=sendto><INPUT
type=hidden value=/mail/移動後のファイル名.htm name=success>で飛ばしていたのですが、今はこれがないのです。素人すぎてすみません・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
return trueとreturn falseの用...
-
コピペを禁止するtextarea
-
未入力のラジオボタンに、alert...
-
COBOLの数字チェック
-
slickのレスポンシブ > center...
-
入力された日付の正規表現の仕...
-
radioボタンでも、うまくアラー...
-
【javascript】 年齢計算
-
リロードしないようにするには
-
フォームメールでURL送信時、存...
-
JavaScriptde途中で、「exit」...
-
<JavaScript>tableタグを入力不...
-
<input>の選択肢をプルダウンメ...
-
至急!GetElementById でtdの...
-
ハイパーリンクを別ウインドウ...
-
TD内のチェックボックスの位置...
-
javascriptでセレクトボックス...
-
value内に変数を入れたい
-
ASP エラーチェック VBScript
-
onchangeイベントを強制的に発...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
return trueとreturn falseの用...
-
slickのレスポンシブ > center...
-
JavaScriptde途中で、「exit」...
-
COBOLの数字チェック
-
未入力のラジオボタンに、alert...
-
ラジオボタンのNullチェック
-
Visual Studioのデザインでの非...
-
分岐数といえば
-
onSubmit=の後ろは複数可能でし...
-
チェックボックスの有無判定
-
コピペを禁止するtextarea
-
TEXTAREAに入力した改行コード...
-
ツリービューのチェックボック...
-
度胸試しのJavaScript
-
JavaScript ログアウト処理
-
半角英数字のみの入力にエラー...
-
Javascriptの"return "について
-
フォームの入力チェックをする...
-
テキストボックスに数字しか入...
-
Tabキーでのカーソルの移動...
おすすめ情報