2017-10-16 67 views
0

我想让我的功能可供用户使用,如果他们点击按钮,但如果他们也按下输入。下面是例子:如果我点击按钮Make function onClick和onKeypress JQuery/Javascript?

$('#searchBtn').on('click', function searchUser(){ 
 
    $.ajax({ 
 
     type: 'POST', 
 
     url: 'Components/Application.cfc?method=findUser', 
 
     data: {'searchFldVal':searchFldVal}, 
 
     dataType: 'json' 
 
    }).done(function(obj){ 
 
     return true; 
 
     }else{ 
 
     return false; 
 
     } 
 
     }); 
 

 
     return false; 
 
     } 
 
    }).fail(function(jqXHR, textStatus, errorThrown){ 
 
     alert(errorThrown); 
 
    }); 
 
    } 
 
});
<form name="searchForm" id="searchForm" action="#" method="POST" onsubmit="searchUser()"> 
 
\t <div> 
 
\t \t <input type="text" name="searchFld" id="searchFld" size="24" maxlength="24" value="" title="Maximum size of the field is 24 characters." placeholder="Example: John, Miller" /> 
 
\t </div> 
 
\t <div> 
 
\t \t <input type="button" name="searchBtn" id="searchBtn" value="Search"/> 
 
\t </div> 
 
</form>

以上代码工作正常,但如果我输入几个字母,然后按进入我的页面将重新加载。该文件保存为.cfm文件。我想在onClickonKeypress上运行searchUser()函数。如果有人知道如何实现这一点,请让我知道。

+0

只是向上看,所提供的代码有错误。 –

回答

3

由于您使用的是jQuery,请勿使用内联事件处理程序。定义函数并调用它,当窗体被载于下文为:

function searchUser(e) { 
 
    e.preventDefault(); 
 
    alert ("Do your ajax here instead of alert..."); 
 
} 
 

 
$("#searchForm").on("submit", searchUser);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form name="searchForm" id="searchForm" action="#" method="POST"> 
 
\t <div> 
 
\t \t <input type="text" name="searchFld" id="searchFld" size="24" maxlength="24" value="" title="Maximum size of the field is 24 characters." placeholder="Example: John, Miller" /> 
 
\t </div> 
 
\t <div> 
 
\t \t <input type="submit" name="searchBtn" id="searchBtn" value="Search"/> 
 
\t </div> 
 
</form>

注:

  • 移除了形式
  • 改变按钮内嵌事件处理程序键入提交。
1

如果您使用AJAX与您的服务器进行通信,您可能希望完全离开表单的方法,操作和提交回调。这将导致页面重新加载的默认提交行为。相反,将侦听器附加到搜索字段本身,即侦听输入按键。

$('#searchBtn').on('click', searchUser); 

$('#searchFld').on('keypress', function(e){ 
    e.preventDefault(); 
    if(e.code == 'Enter'){ 
     searchUser(); 
    } 
}); 


function searchUser(){ 
    // search for the user 
} 
相关问题