好的,这就是我史诗般的旅程问题,现在持续了一个月......:
第一个问题:我正在使用coldfusion-ajax标签构建一个表单,这是有史以来最严重的错误。 IE完全讨厌它,我无法绑定任何东西。是的,我的代码是正确的。我有很多人和很多论坛验证过它。所以我没有IDEA的错误。
所以coldfusion ajax标签是不可能的..它们不能用于我的服务器设置......我不知道。 (我不控制我工作的服务器)
所以...现在,我是SOL,在我的办公室里像个疯狂的人一样哭...我现在决定通过使用jQuery + Coldfusion来解决这个问题。
它不起作用......
以下是新问题: 我需要一个预先填充设置会话变量的选择框。换句话说:
我想将一个表单变量传递给一个页面,该页面将会话变量设置为等于该表单变量...
注意:我正在使用CF 8。
到目前为止,这是我的代码:
形式:
<form>
<select name="DeptCode" id = "dept">
<option value="NONE" selected>Choose a Department
<cfoutput query="getDepartments">
<option value="#DeptCode#">#DeptName#</option>
</cfoutput>
</select>
</form>
<cfoutput> #session.DeptCode#</cfoutput>
的jQuery / AJAX:
<script language = "javascript">
$('#dept').change(
function() {
var datas = $('#dept').val();
$.ajax({
url: 'url:catch.cfc?method=getDept',
data: {dept: datas}
success: function(datas) { alert(datas); }
});
});
</script>
catch.cfc
<cfcomponent output="false">
<cffunction name="setDept" access="remote" returntype="any">
<cfargument name="dept" type="any" required="yes">
<cfset session.DeptCode = #argument.dept#>
<cfreturn />
</cffunction>
</cfcomponent>
答案 0 :(得分:3)
我不确定你是否在发布代码后更新了内容,或者在转录过程中可能存在拼写错误 - 但是存在一些语法问题:
$('#dept').change( function() {
var datas = $('#dept').val(); // always yields a result in real code?
$.ajax({
url: 'catch.cfc?method=getDept', // You repeated "url:" in your url
data: {dept: datas}, // added missing final comma
success: function(datas) { alert(datas); }
});
});
只是一个想法。