我有一个问题。我有一个要求一些基本输入的coldfusion表单
<label class="ricRequired">ID<label><br />
<input type="text" id="tid" name="tid" size="30" maxlength="10" class="ricValidate" ric:required="yes" ric:format="integer" />
表单末尾有一个提交按钮。我想在用户输入他/她的ID后检查用户是否存在于数据库中。我怎样才能做到这一点?有没有比使用ajax更简单的方法?
答案 0 :(得分:0)
我不确定你需要什么,但我会给你一个如何做的例子。
动作/ HTML页面
<html>
<head>
<script type="text/javascript" src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#tid').autocomplete({
source: function(query, response) {
$.ajax({
url: "funcEntity.cfc?method=userSearch&returnformat=json",
dataType: "json",
data: {
searchPhrase: query.term
},
success: function(result) {
$("#someDiv").html(result);
}
});
}
});
</script>
</head>
<body>
<div id="someDiv">
<!--- displays message --->
</div>
<div>
<form name="someForm" method="POST">
<label class="ricRequired">ID<label><br />
<input type="text" id="tid" name="tid" size="30" maxlength="10" class="ricValidate" ric:required="yes" ric:format="integer" />
</form>
</div>
</body>
</html>
<强>功能/ funcEntity.cfc 强>
<cfcomponent>
<cffunction name="userSearch" access="remote">
<cfargument name="searchPhrase" />
<cfquery name="usernameQuery" datasource="yourDatasource">
SELECT username
FROM someTable
WHERE username = <cfqueryparam cfsqltype="cf_sql_varchar" value="#searchPhrase#">
</cfquery>
<cfif usernameQuery.recordCount GT "0">
<cfset var content = "This username already exists.">
<cfelse>
<cfset var content = "This username is available.">
</cfif>
<cfreturn content>
</cffunction>
</cfcomponent>
这不是经过测试的代码,我有点匆忙。我使用了自动完成功能,因此它会在您键入时检查数据库。