我不确定你需要什么,但我会给你一个我将如何去做的例子。
动作/ 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>
这不是测试代码,我在赶时间排序的。我使用了自动完成功能,以便在您输入时检查数据库。
只有在您愿意进行页面加载时才能避免Ajax。 –
我将如何做页面重新加载并保持已填充的表单域? – user2967577
如果会涉及“POST”变量,然后用它们重新填充输入字段。大多数情况下,ajax会大大简化事情。以前你曾使用过它吗? –