【发布时间】:2013-03-30 06:11:48
【问题描述】:
好的,这是我持续了一个月的史诗般的旅程问题......:
第一个问题:我正在构建一个带有coldfusion-ajax 标签的表单,这是有史以来最严重的错误。 IE 完全讨厌它,我无法绑定任何东西。是的,我的代码是正确的。我得到了很多人和很多论坛的验证。所以我不知道出了什么问题。
所以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>
【问题讨论】:
-
理论上cookie中的CFID和CFSESSIONID会一起发送,那么你的catch.cfc应该可以设置session.DeptCode。那么什么不起作用?尝试登录 catch.setDept() 看看你是否可以调试它。
-
它什么也没做。 :( 这是 ajax 的东西不起作用。它不会传递变量。所以我会在选择框中选择一个选项,但它不会更改变量。Firebug 没有拾取任何东西。跨度>
-
我认为我的 jquery 脚本有问题..我不确定现在是否要弄清楚..firebug 一点帮助也没有。它什么都不做。
-
更新:我发现问题出在哪里...... .val 不起作用......我每次都不确定......有什么想法......?我很绝望。
-
更新:我让 jquery 工作。但现在我得到“元素部门在参数中未定义。”有什么想法吗?
标签: ajax forms coldfusion jquery