【JavaScript】

フォームのテキストエリアに数字を入力したとき、特定の数より小さい場合にエラー表示を出すにはどうすればよいでしょうか?併せて半角数字のみ受付るようにしたいのですが。具体的なソースを教えていただけると助かります。

例えば100未満を入力して送信ボタンを押した場合は「100以上に設定してください」とエラー表示が出るという具合です。半角数字でない場合は「半角数字で入力を」とエラーが出るという具合です。

回答の条件
  • 1人2回まで
  • 登録:2007/08/14 16:30:07
  • 終了:2007/08/15 04:37:18

ベストアンサー

id:GEN111 No.3

GEN111回答回数472ベストアンサー獲得回数582007/08/14 18:47:04

ポイント120pt

こんな感じでどうでしょうか。

function checknum() {
  var v = document.myform.num.value ;

  // 数値ではない (全角文字の場合も含む) 場合
  if (isNaN(v)) {
    alert('半角数字で入力を入力してください。') ;
    return false ;
  }

  // 100 未満の場合
  if (v < 100) {
    alert('100以上の数値を入力してください。') ;
    return false ;
  }

  // ↓付け加える
  // 正常な値の場合
  return confirm('送信しても良いですか?') ;
}
id:tsuntsuku

ありがとうございます!今日はもう確認できないので、明日、試させていただきます!


試してみました。ばっちりでした!ありがとうございます。

また質問することがあると思いますが、その際はどうぞよろしくお願い致します。

2007/08/15 04:35:32

その他の回答(2件)

id:KUROX No.1

KUROX回答回数3542ベストアンサー獲得回数1402007/08/14 16:53:47

ポイント18pt

http://game.gr.jp/about/chkinput/onblur_text_isNaN.htm

100も、oj.valueの値をチェックするだけです。

動作させてないので、適当なソースですが

こんな感じに書き換えます。

function chktext_isNaN(oj) {

if (isNaN(oj.value)) {

oksubmit = false ;

alert("この項目半角数字を入力してください");

oj.focus()

} else {

   if(oj.value<100){

alert("100以上に設定してください");

oj.focus()

}else{

oksubmit = true ;

}

}

}

id:tsuntsuku

ちょっと動作に難が・・・

私、JavaScriptほとんど分からなくて。

2007/08/14 17:29:58
id:GEN111 No.2

GEN111回答回数472ベストアンサー獲得回数582007/08/14 18:06:10

ポイント120pt

 質問文にテキストエリアとありますが textarea ではなく input の text だと解釈しました。

 元のフォームにもよりますが、次のような感じでどうでしょうか。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>
    <style type="text/css">
    </style>

    <script type="text/javascript">
      function checknum() {
        var v = document.myform.num.value ;

        // 数値ではない (全角文字の場合も含む) 場合
        if (isNaN(v)) {
          alert('半角数字で入力してください。') ;
          return false ;
        }

        // 100 未満の場合
        if (v < 100) {
          alert('100以上の数値を入力してください。') ;
          return false ;
        }
      }
    </script>
  </head>

  <body>
    <form name="myform" onsubmit="return checknum()">
      <input type="text" name="num" value="" />
      <input type="submit" />
    </form>
  </body>
</html>
id:tsuntsuku

GEN111さん、いつも本当にありがとうございます。助かりました、ばっちりでした!


欲が出てきてしまいました・・・

このソースに付け加える形で、値が正常な場合、「送信してもいいですか?」というメッセージを出して「OK」を押すと送信されるというふうにすることは可能でしょうか?

2007/08/14 18:27:13
id:GEN111 No.3

GEN111回答回数472ベストアンサー獲得回数582007/08/14 18:47:04ここでベストアンサー

ポイント120pt

こんな感じでどうでしょうか。

function checknum() {
  var v = document.myform.num.value ;

  // 数値ではない (全角文字の場合も含む) 場合
  if (isNaN(v)) {
    alert('半角数字で入力を入力してください。') ;
    return false ;
  }

  // 100 未満の場合
  if (v < 100) {
    alert('100以上の数値を入力してください。') ;
    return false ;
  }

  // ↓付け加える
  // 正常な値の場合
  return confirm('送信しても良いですか?') ;
}
id:tsuntsuku

ありがとうございます!今日はもう確認できないので、明日、試させていただきます!


試してみました。ばっちりでした!ありがとうございます。

また質問することがあると思いますが、その際はどうぞよろしくお願い致します。

2007/08/15 04:35:32
  • id:KUROX
    確かに(^^;
    送信ボタンを押した時にチェックしたいのですね。
    他の人の回答を待ったほうがよさそうです。


    もし現れなかったら、
    http://www.1kara.net/js/form.php
    このあたりを参考というかベースにして、
    チェックロジックを書けばいいと思います。

    数字かどうかのチェックは、
    isNaN(oj.value)のように、
    isNaN関数がJavaScriptで用意されています。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません