我们在CF 8上,我们有一个CF应用程序,指定了1小时的会话超时。
<cfapplication sessionmanagement="yes" sessiontimeout="#CreateTimeSpan(0, 0, 60, 0)#" name="myAppName" clientmanagement="yes">
在CF管理员中,我们的默认会话超时为1小时,最大会话超时为1天。
我们在提交常规表格(不是flash表单)时遇到一些奇怪的(间歇性)表单超时问题......
假设用户在上午10:30点击表单页面。 (我知道这是因为我将时间附加到表单标签的“Action”属性)。在上午11点10分,用户提交表单,但没有任何表单结构可用于操作页面,因此用户收到错误。
我知道它来自正确的页面,因为CGI.referrer已正确定义。
在我的自定义错误处理程序中,我遍历任何表单,会话或客户端结构 - 并且此时没有定义任何表单结构。所有其他会话和客户端变量仍然可用。
摘自表单页面:
<cfform name="chairsComment" id="chairsComment" action="library/save_chairsComment.cfm?Start=0224_153027" method="post" >
<input name="chairsCommentNumber" id="chairsCommentNumber" type="hidden" value="13" />
<textarea name="comment_13" rows="50" wrap="virtual" cols="100" id="comment_13" ></textarea>
<input name="save_answer" id="save_answer" type="submit" value="Save Response" />
</cfform>
对于Action页面,它会在第1行引发错误:
<cfset whichCommentNumber = form.chairsCommentNumber>
它在测试期间有效,但当某些用户使用它时,它会抛出错误“Element CHAIRSCOMMENTNUMBER在FORM中未定义”。我们刚刚开始查看这个人正在使用的特定浏览器(Safari 4.0.3),并要求他升级到5.x,但是如果SUCH是一个香草形式,它似乎不太可能是罪魁祸首。
任何想法?
答案 0 :(得分:0)
在关于Ray Camden关于file uploading的博客的讨论中,有人提到了Safari 4.0.5 throwing an error的问题,因为表单字段不包含文件......它不一样问题,必然,但它可能是相关的。不幸的是,评论者从未返回更多信息。
另一篇博客here上有一篇帖子,评论者提到了Safari的问题以及cfform
标记内的cfdiv
。如果您的cfform
具有相似的嵌套效果,则可能需要颠倒顺序(在表单中嵌套cfdiv
)才能使其正常工作。