Php 如何让jQuery检测第一个输入是否为文本,如果是文本则触发jQuery
我希望这个jQuery只在实际文本(而不是像退格或制表符那样被按下)输入到搜索栏后启动,这样就不会显示我数据库中所有可能的搜索结果Php 如何让jQuery检测第一个输入是否为文本,如果是文本则触发jQuery,php,jquery,html,Php,Jquery,Html,我希望这个jQuery只在实际文本(而不是像退格或制表符那样被按下)输入到搜索栏后启动,这样就不会显示我数据库中所有可能的搜索结果 function searchq() { var searchTxt = $("input[name='search']").val(); $.post("search.php",{searchVal:searchTxt,}, function(output) { $("#output").html(output); });
function searchq() {
var searchTxt = $("input[name='search']").val();
$.post("search.php",{searchVal:searchTxt,}, function(output) {
$("#output").html(output);
});
}
以下是输入:
<input id='input' type="text" name="search" placeholder="Search Here..." onkeydown="searchq();" autocomplete="off">
测试输入是否为空
if (searchText != '') {
...
}
测试输入是否为空
if (searchText != '') {
...
}
测试输入是否为空
if (searchText != '') {
...
}
测试输入是否为空
if (searchText != '') {
...
}
只需根据修剪结果添加一个if条件:
if(searchTxt.trim() != '') {
// do your post
将删除字符串两端的空白。如果值中只有一个制表符或空格,则trim
的结果将是一个空字符串
正如@Karl AndréGagnon在他的评论中指出的,还有一种方法可以用来删减空白:
if($.trim(searchTxt) != '') {
只需根据修剪结果添加一个if条件:
if(searchTxt.trim() != '') {
// do your post
将删除字符串两端的空白。如果值中只有一个制表符或空格,则trim
的结果将是一个空字符串
正如@Karl AndréGagnon在他的评论中指出的,还有一种方法可以用来删减空白:
if($.trim(searchTxt) != '') {
只需根据修剪结果添加一个if条件:
if(searchTxt.trim() != '') {
// do your post
将删除字符串两端的空白。如果值中只有一个制表符或空格,则trim
的结果将是一个空字符串
正如@Karl AndréGagnon在他的评论中指出的,还有一种方法可以用来删减空白:
if($.trim(searchTxt) != '') {
只需根据修剪结果添加一个if条件:
if(searchTxt.trim() != '') {
// do your post
将删除字符串两端的空白。如果值中只有一个制表符或空格,则trim
的结果将是一个空字符串
正如@Karl AndréGagnon在他的评论中指出的,还有一种方法可以用来删减空白:
if($.trim(searchTxt) != '') {
jQuery也有自己的功能,可以在所有浏览器上使用:
$.trim(searchTxt)
帮助!当我输入这个时,它会说“ReferenceError:cannotfind variable:searchTxt”。这是我将它放在函数searchq()后面的时候,完全@watcher你需要在函数searchq内部进行检查,并且需要在发送帖子之前进行检查。javascript中的变量的作用域是它们所在的函数,您将无法在声明的函数之外访问它们。@watcher哇,非常感谢您的帮助,我一直在努力解决这个问题。jQuery也有自己的函数,可以在所有浏览器上使用:$.trim(searchTxt)
帮助!当我输入这个时,它会说“ReferenceError:cannotfind variable:searchTxt”。这是我将它放在函数searchq()后面的时候,完全@watcher你需要在函数searchq内部进行检查,并且需要在发送帖子之前进行检查。javascript中的变量的作用域是它们所在的函数,您将无法在声明的函数之外访问它们。@watcher哇,非常感谢您的帮助,我一直在努力解决这个问题。jQuery也有自己的函数,可以在所有浏览器上使用:$.trim(searchTxt)
帮助!当我输入这个时,它会说“ReferenceError:cannotfind variable:searchTxt”。这是我将它放在函数searchq()后面的时候,完全@watcher你需要在函数searchq内部进行检查,并且需要在发送帖子之前进行检查。javascript中的变量的作用域是它们所在的函数,您将无法在声明的函数之外访问它们。@watcher哇,非常感谢您的帮助,我一直在努力解决这个问题。jQuery也有自己的函数,可以在所有浏览器上使用:$.trim(searchTxt)
帮助!当我输入这个时,它会说“ReferenceError:cannotfind variable:searchTxt”。这是我将它放在函数searchq()后面的时候,完全@watcher你需要在函数searchq内部进行检查,并且需要在发送帖子之前进行检查。javascript中的变量的作用域是它们所在的函数,您不能在声明的函数之外访问它们。@watcher哇,非常感谢您的帮助,我一直在努力解决这个问题。您能在回答中添加更多细节吗?虽然简短的回答可能有助于指出正确的方向,但有进一步的解释会有所帮助。我不确定对于这样一个简单的问题和答案我还能说些什么。你可以链接到相关文档,展示多种方法(html必需
属性,CSS视觉指示器,带有:valid
,可能是一个jQuery解决方案,不同的ECMAScript语法做相同的事情…),和/或提供一个JSFIDLE。对于如此显而易见的事情,这比看起来需要的工作量要大得多。有些问题不值得冗长的回答。我几乎没想到我的第一句话是必要的。你能为你的答案添加更多的细节吗?虽然简短的回答可能有助于指出正确的方向,但它会有所帮助我想进一步解释一下。对于这样一个简单的问题和答案,我不知道我还能说些什么。你可以链接到相关文档,展示多种方法(html必需的属性,CSS视觉指示器带有:valid
,可能是一个jQuery解决方案,不同的ECMAScript语法做相同的事情…),和/或提供一个JSFIDLE。对于如此显而易见的事情,这比看起来需要的工作量要大得多。有些问题不值得冗长的回答。我几乎没想到我的第一句话是必要的。你能为你的答案添加更多的细节吗?虽然简短的回答可能有助于指出正确的方向,但它会有所帮助我想进一步解释一下。我不知道对于这样一个简单的问题我还能说些什么