0
現在、フィールド内の文字列の長さに基づいてフォームフィールドを認証するプロジェクトを行っています。たとえば、zipフィールドは少なくとも5文字である必要があります。これはこれまでのコードです。jQueryフォームと.lengthの使い方が分からない
$(document).ready(function() {
//Building the Address from the Form
var address = document.getElementById("address");
var city = document.getElementById("city");
var state = document.getElementById("state");
var zip = document.getElementById("zip");
var addressobject = buildAddress(address.value, city.value, state.value, zip.value);
function buildAddress(address, city, state, zip){
addressobject = {
address: address,
city: city,
state: state,
zip: zip,
toString: function(){
return (this.address + "," + this.city + "," + this.state + "," + this.zip);
}
}
return(addressobject);
}
//Validation Function
$("#btn").on("click", function(addressobject) {
if(address.zip < 5){
alert("good");
} else
alert("bad");
});
});
このプロジェクトには他の部分もありますが、今はこの認証部分を動作させるだけです。再び、私はzipフィールドの入力が "悪い"という警告ボックスを生成する代わりに、(address.zip < 5)を働かせることができません。上記のdocument.getElementByIdは、HTMLページからdiv入力IDを参照しています。代わりに別のものを参照するべきでしょうか?
数字を整数として認識する必要はありません。それを認識して長さを知る必要があります。 – Jwalker
.length()はあなたの友人です!ちなみに、より流動的なUIを作るには、なぜzipフィールドのぼかしでvalidate length関数を呼び出さないのですか?またはkeyupイベントであっても。これにより、ユーザーはフォームの最後まで移動してから、以前に入力したフィールドに戻る必要があることに気づくでしょう。 – gavgrif
これは私が以前から考えていたものですが、今はこれがもっと複雑であることが証明されています。 .length()を追加すると、表示されていた警告ボックスだけが削除されます。 – Jwalker