cfform目标iframe页面缺失

时间:2012-10-09 20:05:55

标签: javascript ajax forms coldfusion

我有一个通过javascript通过点击按钮提交的表单。这是一个向iframe提交的ajax。一切都工作正常,直到我将标签从'form'更改为'cfform'。据我所知,这不应该引起问题,但显然,我错了。我需要cfform因为我想使用带有richtext属性的cftextarea。标签为cfform,在提交时,iframe会显示404,这完全令我难以置信。这是我的代码。

ColdFusion的:

//In my code, the lines are not broken like this
<cfform action="<cfif IsDefined('URL.itemID')>
    actionEditItem.cfm
<cfelse>
    actionAddItem.cfm</cfif>"
method="post" target="my_iframe" name="itemForm" enctype="multipart/form-data">

//the button that submits the form, again, lines aren't broken
<input type="button" <cfif IsDefined('URL.itemID')>
    value='Update Item' onClick='javascript:updateItem();'
<cfelse>
    value='Add Item' onClick='javascript:validateItem();'
</cfif>>

的javascript:

    itemForm.submit();

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:2)

您不能像在做cfform标记一样将CFIF放在cfform标记内。它试图渲染action并打破。这不是常规html表单的问题。对于这个实例,我会设置一个temp var并在<cfif structkeyexists(url,"itemID")> <cfset formAction = "actionEditItem.cfm"> <cfelse> <cfset formAction = "actionAddItem.cfm"> </cfif> <cfform action="#formAction#" method="post" target="my_iframe" name="itemForm" enctype="multipart/form-data"> ... 属性中使用它。

IIF

或者,如果您不想使用temp var,则可以使用<cfform action="#iif(structkeyexists(url,'itemID'),de('actionEditItem.cfm'),de('actionAddItem.cfm'))#">

{{1}}