Bir Poperty değeri ve aşağı ödemeyi doğrulamaya çalışıyorum. Pozitif - - tam sayı en az 65.000 dolar daha olmalı o peşinatişlevinde yanlış hata iletisi çıkışı
sayısal olmalı mevcut olmalı:
özellik değerini: koşullar aşağıdaki gibidir. - Pozitif - tamsayı özelliğinin değerinin en az% 20 (propValue) olmalı
Benim fonksiyonudur (çeşit)
sayısal olmalı mevcut olmalı: Ödeme aşağı
Çalışma. Tüm doğrulama testlerini geçmez. Birisi bana bunu nasıl geliştirebileceğine dair doğru yönde yönlendirebilirse, büyük takdir edilecektir. Aşağı ücret ve değeri için My 2 işlevleri:
function propValueValidation(errMessages){
var propValueLength = document.mortgage.propValue.value.length;
var propValueNumber = isNaN(document.mortgage.propValue.value);
var propValue = document.mortgage.propValue.value;
var downPayPlus = document.mortgage.downPay.value + 65000;
if (!propValueLength) {
errMessages += " Property Value is a required field";
return errMessages;
}
else if (typeof propValue === 'number') {
var remainder = (propValue % 1);
if(remainder != 0){
errMessages += "Property Value must be a positive whole number";
return errMessages;
}
}
else if (propValue < downPayPlus){
errMessages += "Property Value must be at least 65,000 greater than the down payment";
return errMessages;
}
return errMessages;
}
//validate down pay
function downPayValidation(errMessages){
var downPayLength = document.mortgage.downPay.value.length;
var downPay = document.mortgage.downPay.value;
var propValueMin = document.mortgage.propValue.value * 0.2;
if (!downPayLength) {
errMessages += "Down Payment is a required field";
return errMessages;
}
else if (typeof downPay === 'number') {
var remainder = (downPay % 1);
if(remainder != 0){
errMessages += "Down Payment must be a positive whole number";
return errMessages;
}
}
else if (downPay < propValueMin){
errMessages +="Down Payment must be at least 20% of the property value";
return errMessages;
}
return errMessages;
}
HTML:
downpay "1nn1" dir<label class="label">Property Value </label>
<input type="text" name="propValue" id="propValue" size="7" maxlength="6" >
<br>
<label class="label">Down Payment </label>
<input type="text" name="downPay" id="downPay" size="7" maxlength="6" >
hala örneğin formu gönderecektir. Teşekkürler!
'document.mortgage.propValue.value' bir dize değil, bir sayıdır:
İşte yapılan bazı değişiklikler ile ilk işlevin kodudur. – Xufox
Bu işlevleri çağırdığınız kod nerede? Herhangi bir yerde 'propValueNumber' değerini kullanmadığınızı fark ettiniz mi? Bir "string" değerinin sayısal olup olmadığını kontrol etmek için "isNaN" fonksiyonunun _not_ olduğunu biliyor musunuz? – JLRishe