Jquery 最小值和最大值显示新页面
Jquery min and max show new page
我想验证myForm,以便用户可以在99上输入一个介于1和max之间的值。当我提交一个数字时,我会看到一个空白页,这是选择.php。但我想留在我的索引页面上,并收到消息"你在下面"。谁能看出这里出了什么问题?
索引.html:
<div class="content">
<p id="number"></p>
<div class="form">
<form id="myForm" action="select.php" method="post">
<input type="number" name="numbervalue" id="numberinput">
<input type="submit" id="sub" Value="Submit">
<span id="result"></span>
<span id="testnumber"></span>
</form>
</div>
</div>
.JS:
var minNumberValue = 1;
var maxNumberValue = 99;
$('#sub').click(function(e){
e.preventDefault();
var numberValue = $('input[name=numbervalue]').val();
if(isNaN(numberValue) || numberValue == ''){
$('#testnumber').text('Please enter a number.')
return false;
}
else if(numberValue < minNumberValue){
$('#testnumber').text('You are below.')
return false;
}
else if(numberValue > maxNumberValue){
$('#testnumber').text('You are above.')
return false;
}
return true;
});
// Insert function for number
function clearInput() {
$("#myForm :input").each( function() {
$(this).val('');
});
}
$(document).ready(function(){
$("#sub").click( function(e) {
e.preventDefault(); // remove default action(submitting the form)
$.post( $("#myForm").attr("action"),
$("#myForm :input").serializeArray(),
function(info){
$("#result").html(info);
});
clearInput();
});
});
// Recieve data from database
$(document).ready(function() {
setInterval(function () {
$('.latestnumbers').load('response.php')
}, 3000);
});
如何利用输入标签的"min"和"max"属性,它将处理所有验证本身:
<input type="number" name="numbervalue" min="1" max="99">
干杯
这里有一个小函数来验证这个数字:
var minNumberValue = 1;
var maxNumberValue = 99;
$('#sub').click(function(e){
e.preventDefault();
var numberValue = $('input[name=numbervalue]').val();
if(isNaN(numberValue) || numberValue == ''){
$('#result').text('Please enter a number.')
return false;
}
else if(numberValue < minNumberValue){
$('#result').text('You are below.')
return false;
}
else if(numberValue > maxNumberValue){
$('#result').text('You are above.')
return false;
}
return true;
});
您可以通过更改两个变量来定义最小值和最大值(如果您要提交到服务器,请务必在服务器端检查这些,因为用户可以通过开发工具操纵代码来更改这些边界或提交他们想要的任何内容)。
结果消息显示在您的span#result
中,否则您也可以使用alert()
。
这里重要的是 click 函数中的 e
参数(它是 JavaScript 事件),调用e.preventDefault()
(如果你不这样做,表单将在完成验证之前提交,因为input[type=submit]
的默认操作是提交表单 [go figure...]),每当不满足条件时返回false
,如果满足验证,则返回true
。return true;
允许表单遵循其操作参数。
并对此进行摆弄:https://jsfiddle.net/3tkms7vn/(编辑:忘了提及,我注释掉了return true;
并将其替换为调用以向span#result
添加消息,以防止在jsfiddle上提交。
相关文章:
- 防止 PHP 在新页面中显示结果
- 在新页面上显示生成的 HTML,而不保存在文件中
- 如何让我的wordpress网站在同一页面中显示博客文章,而无需使用AngularJS加载新页面
- 尝试在不刷新页面的情况下单击按钮显示新的随机值
- 重定向到新页面而不显示父页面
- Jquery 最小值和最大值显示新页面
- 如何在弹出窗口中显示错误消息,而不是移动到新页面
- 如何显示在新窗口中提交表单数据后显示的页面
- 新页面上未显示数据
- 如何在JavaScript中重新加载页面以显示新列表
- 当加载新页面时,Facebook iframe不会显示在顶部
- 如何在PHP中提交表单后,在新页面上显示使用HTML文件控件上传的图像
- 如何将表单提交操作从显示警告弹出窗口更改为重定向到新页面?
- 如何在新页面中显示所选项目
- 如何处理get/post在Express 4/nodejs从app.js传递数据从表单到新页面显示结果
- 在空白/新页面中显示以下AJAX
- 在显示之前完全加载新页面
- 显示新页面之前函数的绑定值
- 表单提交仅在加载后显示新页面
- 如何在表单提交后保持模态窗口打开并在同一模态窗口中显示新页面