![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
お世話になります。
不適切なデータを送らないためのスクリプトを書いています。
<form onsubmit="return func1(this);">
(省略)
</form>
func1 (frm1){
if (frm1.elements[0]~~~) {
alert(msg0);
return false;
}
(省略)
if (frm1.elements[99]~~~) {
alert(msg99);
return false;
}
return true;
}
このように書く代わりに
func1 (frm1){
if (frm1.elements[0]~~~) {
exodus(msg0);
}
(省略)
if (frm1.elements[99]~~~) {
exodus(msg99);
}
return true;
}
function exodus(msg) {
alert(msg);
xxxx false;
}
とかこんな風に書けたらいいなと思うのですが
この「xxxx」に相当するような機能はJavaScriptにあるのでしょうか?
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
function func1 (frm1){
if (frm1.elements[0]~~~) {
exodus(msg0);
}
return true;
}
function exodus(msg){
;
}
このときにexodus(msg0)を実行するだけでfunc1も終了する方法はあるか?
という意味に取れましたが、どうなんでしょうか。
JavaScriptではそう言う機能(Cのexit()に相当する機能)はありません。
面倒ですが、1つ1つreturn falseで関数を抜けさせる必要があります。
if (frm1.elements[0]~~~) {
exodus(msg0);
return false;
}
(略)
if (frm1.elements[99]~~~) {
exodus(msg99);
return false;
}
ですが、他の言語同様にif(1から99){}をまとめて、forループなどでかけますので、(略、ANo.1やANo.2に続きます)
はい、そういう意味です。
JavaScriptでは不可能なんですね。
かなり探したけれど見つからないわけだ…。
ありがとうございました。
No.2
- 回答日時:
★for 文を使ったら。
・『msg0』~『msg99』を『msg[100]』の配列に定義変更します。
・『for』文で 0 ~ 99 までをチェックして行えばいいと思います。
・以上。おわり。
function func1( frm1 ){
for ( var i=0 ; i < 100 ; i++ ){
if (frm1.elements[i]~~~){
exodus( msg[i] );
return( false );
}
}
return( true );
}
function exodus( msg ){
alert( msg );
}
すみません。
1番の方のところでも書きましたが、
類似した処理をループでコンパクトに書きたいわけではないのです。
つたない説明で申し訳ありませんでした。
No.1
- 回答日時:
こんばんは。
…なるほど、
---------------------------------
if (frm1.elements[0]~~~) {
alert(msg0);
return false;
}
---------------------------------
の中の行が、1行でも短くならないか?
というご質問ですね。
それなら、
---------------------------------
for(i=0; i<100; i++) {
if (frm1.elements[i]~~~) {
alert(msg[i]);
return false;
}
}
---------------------------------
という格好にして、メッセージを
msg[n]
という配列のかたちで持たせれば、
行は ずっと少なくなります YO !
すみません。
関数から抜けることを主眼におきたかったので簡略化しましたが、
if (frm1.elements[i]~~~) {
の
~~~
も結構パターンがあるのです。
それならそれで真偽値審査部分も配列にすればよいのですけど…。
ともあれ主眼は「1行でも短くならないか?」ということとは
微妙にずれたところにあります。
でもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
return trueとreturn falseの用...
-
slickのレスポンシブ > center...
-
ラジオボタンのNullチェック
-
COBOLの数字チェック
-
Visual Studioのデザインでの非...
-
JavaScriptde途中で、「exit」...
-
テキストボックスに数字しか入...
-
リロードしないようにするには
-
ドラッグ&ドロップ禁止について
-
DirectInputの押された瞬間の取得
-
ドロップダウンリストボックス...
-
TEXTAREAに入力した改行コード...
-
フォームメールでURL送信時、存...
-
【javascript】 年齢計算
-
複数の数値をひとつの数値に代入
-
プルダウン 項目が多いので先頭...
-
フォームの内容でリンク先URLの...
-
HTMLのフォーム名とJavaScript...
-
onchangeイベントを強制的に発...
-
onClickとsubmitの処理順序
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
return trueとreturn falseの用...
-
slickのレスポンシブ > center...
-
COBOLの数字チェック
-
ラジオボタンのNullチェック
-
未入力のラジオボタンに、alert...
-
JavaScriptde途中で、「exit」...
-
正規表現で複数マッチ条件で悩...
-
コピペを禁止するtextarea
-
ツリービューのチェックボック...
-
フォームの入力チェックをする...
-
度胸試しのJavaScript
-
Visual Studioのデザインでの非...
-
一度しか押せないボタンについて
-
form の onSubmit がコールされ...
-
onSubmit=の後ろは複数可能でし...
-
チェックボックスの有無判定
-
テキストボックスに数字しか入...
-
IE7のJavascriptで return fals...
-
変数の値によってsubmit後の動...
-
ドラッグ&ドロップ禁止について
おすすめ情報