2012-02-21 4 views
2

私はJava Scriptであまりよくありません。問題の解決策が見つかりませんでした。JS - 2つの異なる数字の間のMIN MAXの値をクエリ

は、私は私が200かを記述する場合

0〜199>番号を記入することは許可されてい内側に私のページ上のテキストボックスを持って、その後、私は警告を取得したい(のonblur)。

非常に興味深く、おそらく有用なコードが見つかりました。

私は彼が働くかどうかわかりませんが、私はこれを実装する方法がわからないためです。

<script> 
    var min = 0; 
    var max = 199; 
    var num = parseInt(myform.numfield.value); 
    if (min > num || max < num) { 
     alert(num + ' is not between ' + min + ' and ' + max); 
     return false; 
    } 
</script> 

は、私はまた、別の質問を持っているあなたが私に

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <title>Page</title> 
     <script type="text/javascript"> 
      function check(min, max) { 
       var num = parseInt(document.getElementById('value_one').value); 
       if (min > num || max < num) 
       { 
        alert(num + ' ist nicht zwischen ' + min + ' und ' + max); 
       } 
      } 
     </script> 
    </head> 
    <body> 
     <form> 
      Zahl: <input type='text' id='value_one' onBlur="check(0, 100)" > 
     </form> 
    </body> 
</html> 

を作品

ここで新しいコードを助けることができると思います。同じ関数にクエリを追加することは可能ですか?ここで、同じテキストボックスに99より大きい数値を書くと、MINとMAXのクエリがあり、メッセージで警告を受け取ることができます。 "今、新しい値を取得する"、しかし、私が前と同じようにメッセージを得るために、私が200以上を書いていても。出来ますか?ご協力いただきありがとうございます。乾杯

答えて

3

私は関数にこのコードを配置し、それをonBlurを呼び出します。

function check(min, max) { 
    var num = parseInt(this.value); 
    if (min > num || max < num) { 
     alert(num + ' is not between ' + min + ' and ' + max); 
    } 
} 

、その後

<input type='text' onblur="check(0, 199)" 
+0

こんにちはアダム、私はあなたのソリューションを試してみましたが、うまくいきません。 おそらくJSコードにエラーがありますか?そして私は言うことを忘れて、それはInternet Explorer 6で動作する必要があります!助けてくれてありがとう、歓声 – achillix

+0

@achillix - そのコードはIE6で正常に動作するはずです。あなたはあなたの質問への更新として試したコードを投稿してください。 <!DOCTYPE HTML>:すべて私が今持っているものである –

+0

<メタのcharset = "UTF-8"> ページ <スクリプトタイプ= "テキスト/ javacript "> 機能チェック(最小、最大){ var num = parseInt(this.value); if(min> num || max

値:<入力タイプは= 'テキスト' のonblur = "チェック(0、199)">
achillix

1

は、関数で

function minMax(){ 
     var min=0; 
     var max = 199; 
     var num = parseInt(myform.numfield.value); 
     if (min > num || max < num) { 
      alert(num + ' is not between ' + min + ' and ' + max); 
      return false; 
     } 
    } 

を見つけたコードを配置し、フォームフィールドが、それをやる

var formField = document.getElementById('elementID'); //or however you want to get it 
formField.onblur = minMax(); 

をぼやけているときにそれを呼び出します。

+0

私はあなたに試してみます、THX非常に歓声 – achillix

+0

こんにちは、あなたの助けに感謝します。私はあなたの解決策を試しましたが、私は警告がありません。私は要素にidを与えました(入力テキストボックス)、私は数字を書いていますが、何も書いていません。私は2番目のコードを置く:var formField = document.getElementById( 'elementID'); //またはそれを取得したい場合 formField.onblur = minMax(); – achillix

0

をここで完全なHTMLで:(ちょうどそれを保存し、それを試してみてください)

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Page)</title> 

    <script type="text/javascript"> 
    function submitform() 
    { 
     var min=0; 
     var max = 100; 
     var num = parseInt(document.getElementById('value_one').value); 
     console.log(num); 
     if (min > num || max < num) { 
      alert(num + ' is not between ' + min + ' and ' + max); 
     return false; 
     } 
    } 
    </script> 
</head> 
<body> 

    <form id="myform" action="submit-form.php"> 
     Value: <input type='number' id='value_one' name='value_one'> 
     <a href="javascript: submitform()">Submit</a> 
    </form> 

</body> 
</html> 

UPDATEの答えはあなたのコメントを一致させるために:

これは、私が思う瞬間です:jQueryのように、実績のあるライブラリを使用します。

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Page</title> 

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script type="text/javascript"> 
    $(document).ready(function(){ 
     $("a").click(function(){ 
      var enteredValue = $("input:#value_one").val(); 
      var min=0; 
      var max = 100; 
      var num = parseInt(enteredValue); 

      if (min > num || max < num) { 
       alert(num + ' is not between ' + min + ' and ' + max); 
       return false; 
      } 
     }); 

    // or listen to your textfield blur event: ///////////////////// 
    // $("input:#value_one").blur(function() { 
    //  var enteredValue = $("input:#value_one").val(); 
    //  var min=0; 
    //  var max = 100; 
    //  var num = parseInt(enteredValue); 

    //  if (min > num || max < num) { 
    //   alert(num + ' is not between ' + min + ' and ' + max); 
    //   return false; 
    //  } 
    // }); 
    }); 

    </script> 
</head> 
<body> 

    <form id="myform" action="submit-form.php"> 
     Value: <input type='string' id='value_one' name='value_one'> 
     <a href="#">Submit</a> 
    </form> 

</body> 
</html> 

をあなたはblur()イベントに結合するか、または単に、上記のように提出するか、ハイパーリンクできるのjQueryの助けを借りて。頑張って楽しんでね!

+0

こんにちは、あなたの答えは、それは動作しますが、IE6では、私はそれを説明することを忘れて、あなたがなぜ知っている?そして、もしこのコードをIE6上で動作させることができるのであれば?大きなTHX – achillix

+0

こんにちは それは面白そうに見えます、私はそれを試してみましょう。 ありがとうございました 乾杯 – achillix

+0

非常に良い作品です。どうもありがとうございました! – achillix

関連する問題