Javascript 搜索查询不超过x个字符时的警报消息
首先,感谢您抽出时间来看看我的问题。真正地这是我的问题。我正在为我正在制作的网站制作一个fancybox搜索页面。在fancybox中获得搜索结果都很好 但是,如果访问者只需单击Javascript 搜索查询不超过x个字符时的警报消息,javascript,jquery,Javascript,Jquery,首先,感谢您抽出时间来看看我的问题。真正地这是我的问题。我正在为我正在制作的网站制作一个fancybox搜索页面。在fancybox中获得搜索结果都很好 但是,如果访问者只需单击搜索,它就会返回站点上的所有项目。我要做的是使表单在搜索之前,访问者至少要输入3个字符。如果访问者未输入3个或更多字符,fancybox将发出警告,提示请至少输入3个或更多字符 我环顾了stackoverflow,发现了以下代码: $( document ).ready(function() { inpu
搜索
,它就会返回站点上的所有项目。我要做的是使表单在搜索之前,访问者至少要输入3个字符。如果访问者未输入3个或更多字符,fancybox将发出警告,提示请至少输入3个或更多字符
我环顾了stackoverflow,发现了以下代码:
$( document ).ready(function() {
input_value = $.trim($('#searchkey').val());
if(input_value == ''){
alert('Enter some value');
return false; //Does not submit the form
}else{
//perform your code if it should not be empty.
}
});
因此,我将代码放在正确的位置,如下所示:
$( document ).ready(function() {
input_value = $.trim($('#str').val());
if(input_value == ''){
alert('Enter some value');
return false; //Does not submit the form
} else {
$(function() {
$('#search').on('submit', function(e) {
e.preventDefault();
jQuery.fancybox({
width: 600,
height: 600,
openEffect: 'fade',
closeEffect: 'fade',
href: 'search-post-results.php',
type: "ajax",
ajax: {
type: "POST",
data: {
value: $('#str').val()
}
}
});
});
});
}
});
我没有得到任何语法错误,但如果我重新加载页面,它会给我正确的警报。但是,如果没有输入字符,则会出现这种情况。所以我改变了这一行:
if(输入值=“”){
致:
if(输入值='2'){
我想我应该设置一个值。但这没有任何作用。有人有类似的脚本/代码段做同样的事情吗?或者知道为什么这不起作用吗
这是HTML(没有什么特别的):
再次感谢您的时间。使用length
属性
if( input_value.length < 3 ){
// error message if characters are less than 3
} else {
// continue the search
}
if(输入值长度<3){
//如果字符少于3,则显示错误消息
}否则{
//继续搜索
}
使用length
属性
if( input_value.length < 3 ){
// error message if characters are less than 3
} else {
// continue the search
}
if(输入值长度<3){
//如果字符少于3,则显示错误消息
}否则{
//继续搜索
}
试试这个,
另外,请更改验证位置,因为如果重新加载,则始终会显示警报。这样,您可以在提交操作后进行验证
$(function() {
$('#search').on('submit', function(e) {
e.preventDefault();
if(input_value.length < 3 ){
// Show your alert message.
}else{
// Here you start Ajax Request.
}
});
});
$(函数(){
$('#search')。在('submit',函数(e)上{
e、 预防默认值();
if(输入值长度<3){
//显示您的警报消息。
}否则{
//这里开始Ajax请求。
}
});
});
试试这个,
另外,请更改验证位置,因为如果重新加载,则始终会显示警报。这样,您可以在提交操作后进行验证
$(function() {
$('#search').on('submit', function(e) {
e.preventDefault();
if(input_value.length < 3 ){
// Show your alert message.
}else{
// Here you start Ajax Request.
}
});
});
$(函数(){
$('#search')。在('submit',函数(e)上{
e、 预防默认值();
if(输入值长度<3){
//显示您的警报消息。
}否则{
//这里开始Ajax请求。
}
});
});
如果需要字符数,请尝试将input_value.length
更改为if(input_value='2')
为if(input_value.length<3)
此时您正在比较输入的值/内容,而不是其值的数量/长度。Hello@Jay oh,请尝试我的代码,它肯定会对您有所帮助。如果您需要字符数,请尝试input\u value.length
将if(input\u value='2')
更改为if(input\u value.length<3)
目前,您正在比较输入的值/内容,而不是其值的数量/长度。你好@Jay哦,请尝试我的代码它肯定会对您有所帮助。成功了。我不得不修改了我自己的代码。但这让我走上了正确的道路!谢谢!成功了。我不得不修改了我自己的代码。但这让我走上了正确的道路!谢谢!是的h、 这就是我需要改变的代码,我自己发现的。仍然感谢你的回答。是的,这就是我需要改变的代码,我自己发现的。仍然感谢你的回答。