首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Coldfusion ajax html提交

Coldfusion ajax html提交
EN

Stack Overflow用户
提问于 2012-07-03 02:11:38
回答 2查看 513关注 0票数 0

我正在使用railo,并试图通过ajax提交一个tinymce文本区。

我的问题是,在提交时,html似乎被剥离了,而sql实际上并没有更新。

下面是我的代码:

代码语言:javascript
运行
复制
function UpdateHome() {
  document.getElementById('UpdateProcessing').style.display = '';
  document.getElementById('HomeForm').style.display = 'none';
  ColdFusion.Ajax.submitForm("HomeForm","action.cfm",HomeUpdateReturn);
  }

<form action="action.cfm" method="post" id="HomeForm">
 <input type="hidden" name="action" value="HomeUpdate" />
 <CFLOOP QUERY="FetchHome">
 <textarea id="HomeArea" name="HomeArea" class="tinymce" rows="20" cols="20"
 style="width:100%; height:500px" >#Body#</textarea>
 </CFLOOP>
 <input type="button" class="HomeSubmit" value="Save" onClick="UpdateHome();" /> 
</form>

<CFQUERY NAME="UpdateHome">
 UPDATE Content
 SET Body = '#HomeArea#'
 WHERE ID = 1
</CFQUERY>

<CFSET UdateHome     = ArrayNew(1)>
<CFSET UpdateHome[1]     = true>
<CFCONTENT TYPE="application/json" RESET="true">
<CFOUTPUT>#serializeJSON(UpdateHome)#</CFOUTPUT>

当我在没有ajax的情况下提交表单时,sql运行良好。

有人知道为什么它不能通过ajax提交html格式的文本吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-03 17:50:14

提交表单之前,您需要做的就是调用javascript行

代码语言:javascript
运行
复制
 tinymce.triggerSave()
票数 0
EN

Stack Overflow用户

发布于 2012-07-03 03:51:12

这里有几个问题:

  1. 我不相信你可以使用ColdFusion.Ajax.submitForm(),除非你正在使用cfform或者除非你使用<cfajaximport ... />来导入javascript。您是否通过Firebug或Chrome开发工具确认Javascript没有抛出错误?我怀疑是这样的。将您的<form ... ></form>标记更改为<cfform ...></cfform>,然后重试。
  2. 另外,我认为这不会像您预期的那样工作,因为您在同一个文件中同时具有表单和表单处理程序逻辑。我会把它们分开,

  1. ,你引用了一个不存在的HomeUpdateReturn返回处理函数。您需要在Javascript代码中编写此函数。

你还有其他几个问题,我不能不指出就让它过去:

  1. 你应该限定你的变量的作用域。在update查询中有'#homearea#'。它可以引用任何homearea变量,并且可能不是您期望的表单范围内的变量。将其更改为#form.homearea#。这将确保只使用表单作用域中的变量。
  2. 需要在您的查询中使用<cfqueryparam ... />,否则您将面临sql注入攻击。因此,将'#homearea#'更改为<cfqueryparam cfsqltype="cf_sql_longchar" value="#form.homearea#" />。(假设您在数据库中使用的是一个大文本字段)如果不使用参数化查询,永远不要允许未经检查的用户输入直接进入您的查询。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11298929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档