看起来很简单,但我找不到一个好办法。
我正在做一个研究栏,允许用户搜索价格迷你和价格最大值的东西。
所以: 我有两种文本输入类型(当然是html)" price_mini?"和" price_maxi?"。 " Price_mini"不能超过" price_maxi"。 如何限制" price_mini"的用户输入?这样如果不允许用户输入超过" price_maxi"变量的输入,如果迷你号码大于price_maxi,则在保存(搜索)时显示错误。
答案 0 :(得分:0)
像这样的东西应该有用,我无法让JSFiddle处理表单给你展示一个很好的例子我现在几天都不用普通的javascript做很多事情所以请原谅我,如果有一个小的错误或两个。
HTML
<form name="myForm" onSubmit="submit()" method="post">
<input name="price_mini" type="text">
<input name="price_maxi" type="text">
<input type="submit" value="Submit">
</form>
的Javascript
function submit(){
var price_mini = document.forms["myForm"]["price_mini"].value;
var price_maxi = document.forms["myForm"]["price_maxi"].value;
if(Number(price_mini) > Number(price_maxi)){
alert("Minimum price must be less than maximum price!");
}else{
// Your search code here
}
}
答案 1 :(得分:-1)
想象一下这个html
<input id="min" type="text">
<input id="max" type="text">
这应该是正确的javascript
var min = document.getElementById("min");
var max = document.getElementById("max");
min.change(function() {
if(Number(this.value) > Number(max.value)) {
this.value = max.value; // replace min with the same max value if it's bigger
}
}
答案 2 :(得分:-1)
我们假设这是您的HTML。
<input id="min" type="text">
<input id="max" type="text">
如果max
字段为空,则工作JavaScript就是这种行为。
var min = document.querySelector('#min');
var max = document.querySelector('#max');
var calculate = function() {
if(max.value == '') return;
if(Number(min.value) > Number(max.value)) {
min.value = max.value;
}
}
min.addEventListener('input', calculate);
max.addEventListener('input', calculate);
答案 3 :(得分:-1)
您应该在值(min && max)
时对它们进行比较。如果您发现min
更高,则可以提醒用户或自动将其更改为最低或最高。
$('.calc_input').change( function() {
var min = $('#min').val();
var max = $('#max').val();
if ( (min && max) && min > max ) {
alert('This can not be!');
// $('#min').val() = max;
// $('#max').val() = min;
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Min:<input id="min" class="calc_input">
<br>
Max:<input id="max" class="calc_input">
&#13;