【发布时间】:2013-11-16 18:46:13
【问题描述】:
我有一个非常简单的表单,它有一个名为CustomerNumber 的文本字段。表单中还有其他元素,例如选择和列表,需要包含与CustomerNumber 相关的值。
我想做的就是:
- 用户在
CustomerNumber文本字段中输入一个值,然后“跳出”或单击页面上的其他位置 - 然后应将在
CustomerNumber中输入的值传递给数据库查询,该查询将返回基于CustomerNumber值的结果(例如客户以前的订单) - 数据库查询的结果用于填充其他表单元素
- 最后,一旦用户正确填写了表单,他们会将整个表单(包括 CustomerNumber)提交到服务器进行处理
我只是看了一眼 JQuery 并尝试了一些简单的 DOM 操作(例如paragraph.text("new value")),我首先注意到的是源代码中的任何 HTML 都没有改变。在浏览器中,我可以看到更改,但在 HTML 中看不到。
这让我想知道,如果我使用 JQuery 来操作表单元素(通过 AJAX 调用或其他方式 - 我还不知道 Jquery),从 AJAX 调用返回的数据库数据将如何填充表单元素以及如何当它们在 HTML 中不存在时,它实际上会被提交到服务器吗?
我尝试仅使用 HTML 表单并在 CustomerNumber 文本字段旁边有一个提交按钮并创建一个自我提交页面,但这意味着在表单中拥有一个表单是不可能的......
【问题讨论】:
-
最简单的方法是使用 cfinput 的 bind 属性。
-
@DanBracuk 感谢您的提示。我正在考虑这样做,但认为 CF 只是代表我生成 javascript,这意味着我正在失去一些控制......??
-
当它们在 HTML 中不存在时,它如何实际提交到服务器只要表单元素存在(并且是有效的)任何值它们包含在提交时将被发送到服务器。无论该值是由用户手动输入还是使用 Jquery 以编程方式输入。 Re: CF 只是代表我生成 javascript 正确。它有一些怪癖,并且还使用大多数 js 库(如 ExtJS)的旧版本。就个人而言,我会推荐使用 jquery,或者直接使用 ExtJS。
-
@Leigh 所以你是说如果表单“直观”显示我想要的数据,但在页面的查看源代码中它不存在于 HTML 中,数据仍然是提交到服务器?这是我无法理解的一点。当我操作
元素时,它在页面上发生了变化,但在 HTML 源代码中,旧文本仍然存在。
-
您可能正在考虑一些无关紧要的事情。首先,无法控制 ColdFusion 使用 cfform 生成的 js。该代码有效。其次是查看 html 源代码时出现的内容。重要的是,当您提交表单时,所有表单字段都会发布。
标签: jquery coldfusion coldfusion-10