テキストフィールドの値が特定の番号である場合に基づいてtrueまたはfalseを返すために必要

StackOverflow https://stackoverflow.com/questions/3415951

質問

私は、ユーザーが入力フィールドに4を入力する場合はtrueを返すように探しています。

function validateAddition() {
  if($("#validateAddition").val() == 4) {
    return true;
  } else {
    return false;
  }
}

<input value="" 
class="validate[required,onlyNumber,length[0,1]funcCall[validateAddition]] text-input" 
type="text" id="validateAddition" name="validateAddition" />

英語のjsファイルにこれを追加しました:

"validateAddition":{
    "nname":"validateAddition",
    "alertText":"* Your math is off, try again."}

これは、私はあなたが間違っていると思うものを知ってみましょう、問題ないはずです。

役に立ちましたか?

解決

http://www.w3schools.com/jsref/jsref_parseInt.aspする

return (parseInt($('#validateAddition').val()) == 4)

EDIT:。MooGooは、私はこれまで私の説明のように間違っていた、正しいです。

しかし+のvalを使用してのアイデアは、おそらく最高ではありません。

:あなたがはるかに優れたソリューションを必要として、次のようにWILL作業上記の方法は次のようになりますが
if(($('#validateAddition').val()-0) == 4)
それは文字列であり、あなたが任意の追加の操作は、それがある包みなさい実行したい場合、あなたは、もはや元の文字列を持つことになりますのでます。

は+0とは対照的に、我々は-0たい理由は単純ではありません

他のヒント

あなたは同様に他の文字を許可し、入力フィールドのテキストは4が含まれている場合にのみtrueを返したい場合は、代わりに次のように行う必要があります:

if($("#validateAddition").val().indexOf('4') != -1) {

これは、値が文字列であるため、ローミングサービスは、文字列に値を比較することになるだろう。それはあなたが不要な自動変換を回避厳格な等号を使用することができます。また、あなたは、機能を簡素化することができます。

function validateAddition() {
  return $("#validateAddition").val() === "4";
}
あなたはこのような何かを探して、言語ファイルであなたの検証を置くことができます。


"validateAddition": {
    "regex": /[0-3]|[5-9]/,//something that matches on all numbers but four
    "alertText": "* Your math is off, try again."
},


ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top