我在做一个收益率计算器。有3个字段。收益率百分比、购买价格和租金。
例如,我想要10%的收益率,然后我支付50万,然后我的计算器将得到每月的租金,以达到10%的收益率。此外,如果我想要10%的收益率,并且我输入了每月500的房租,那么我的计算器就会得到购买价格。最后,如果我支付500k,假设房租是500,那么我的计算器将得到收益率百分比。
<form>
<input type="number" name="purchase_price">
<input type="number" name="rent">
<input type="number" name="yield">
<input type="submit" value="Calculate">
</form>
此外:
如果填充了其中任何2个字段,则第三个get将被禁用,我该如何使其生效?
示例:
价格&租金=产量字段被禁用
价格和产量=租金字段被禁用
gets &gets=价格字段禁用
发布于 2016-07-16 10:56:43
在我的代码示例中,我的目标是所有不是submit按钮的输入。因此,如果您在其他地方有一个输入字段,这将停用它。我使用它是为了简单起见,你应该在你的表单中添加一个id或者class。
var form = document.querySelector('form');
form.addEventListener('change',function(event){
elms = document.querySelectorAll('input:not([type="submit"]');
var count = 0;
Array.prototype.forEach.call(elms,function(elm){
if (elm.value != ''){
count++;
}
});
Array.prototype.forEach.call(elms,function(elm){
if (count >= 2 && elm.value === ''){
elm.disabled = true;
}
else{
elm.disabled = false;
}
});
});
<form>
<input type="number" name="purchase_price">
<input type="number" name="rent">
<input type="number" name="yield">
<input type="submit" value="Calculate">
</form>
发布于 2016-07-15 15:13:25
试试这个:
<form id="calculator">
Price <input type="number" name="purchase_price" class="input"><br/>
Rent <input type="number" name="rent" class="input"><br/>
Yield <input type="number" name="yield" class="input"><br/>
<input type="submit" value="Calculate">
</form>
现在,您的jQuery代码如下:
$("#calculator").on("submit", function(e) {
e.preventDefault();
var blank = 0;
$('.input').each(function() {
if ($(this).val() == '') {
blank++;
}
});
if (blank <= 1) {
//console.log("Submitted!");
$(this).submit();
}
});
请参阅JS小提琴:https://jsfiddle.net/ahpj6o6h/4/
https://stackoverflow.com/questions/38389770
复制相似问题