问题标签 [xforms-betterform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xforms - XForms 重复 - 询问用户行数
我想通过 xf:input 询问用户,在某个重复中您想要“多少项目”,然后根据用户的响应,呈现具有该行数的重复(我猜这也会在 xf:instance 中生成)。
我熟悉使用触发器插入和删除行。
我在这里要问的是如何提示用户要创建和呈现的初始行数。
例如,假设用户想要 10 行。我猜重复的数据可能不相关,直到他们回答了那个问题,当他们回答时,一些动作可以动态地创建行,然后使重复的数据相关。
但是如何做到这一点?
12 月 20 日更新
下面的标记显示了一个输入字段,并且更好的形式是在按下按钮时向实例添加行。但是,betterForm 不会在 UI 中显示数据(尽管我猜这完全是一个单独的问题)。我还没有尝试过其他实现。
xforms - 千叶与 Java 应用程序的集成
我是 X-Forms 和千叶的新手。
我正在考虑将 Chiba 集成到一个简单的 Java EE 应用程序中。
执行此操作的步骤是什么?
迄今为止取得的成就
- 使用流或通过 JSP 和 Servlet 将 xform 提交给 Chiba。
- 以 HTML、CSS、JS 和 AJAX 形式从 Chiba 获取输出表单。
- 创建的 xhtml x-form 将由客户用于填写数据。
- 在提交时,实例 xml 转到一个 servlet。
- 然后 Servlet 保存此实例 xml(在 RDBMS 中假设为 CLOB)。
您能否提供任何示例应用程序来帮助我了解通过服务器端 xform 引擎处理 xForm 的流程?
xforms - 将 xhtml 文件作为流提交到千叶
由于我是 Chiba 的新手,我想知道如何将 Chiba 集成到我的 JSP 和 Servlet 应用程序以及如何将 xhtml 文件作为流提交到 Chiba 并以 HTML+CSS+JS/AJAX 的形式获取输出。
我想要达到的目标:
- 使用流或通过 JSP 和 Servlet 将 xform 提交给 Chiba。
- 以 HTML、CSS、JS 和 AJAX 形式从 Chiba 获取输出表单。
- 创建的 xhtml x-form 将由客户用于填写数据。
- 在提交时,实例 xml 转到一个 servlet。
- Servlet 然后保存此实例 xml。
在哪里可以找到使用 Java 应用程序实现 Chiba 的示例。我尝试用我的应用程序实现它,但没有成功,因为千叶的 Cookbook 和用户指南中的信息非常少。
谢谢大家的帮助。:)
xml - 将模型绑定到 XForms 中的控件
我使用 refs 将模型绑定到 Xforms 中的控件。我想通过 xml 模式将模型绑定到类型。但是它不起作用。我必须在模型元素中手动编写类型才能使其工作。我究竟做错了什么?如何避免修改模型元素?
文档.xhtml:
文档.xsd:
variable-assignment - XSLTforms 或 betterForm 是否支持变量 (var)?
我根据http://www.w3.org/MarkUp/Forms/wiki/XForms_2.0#The_var_element准备了以下 XForms 文档:
这很简单:应该输出(我认为)两次 Kilroy,首先直接从模型中读取,然后放入一个变量并打印该变量。
但输出只是
我已经从 eXist-db 2.0 和 eXide 2.0 版尝试过这个。上面的代码是由 XSLTforms 处理的;省略第一行,它由 betterForm 处理 - 但结果是一样的。
http://www.w3.org/MarkUp/Forms/wiki/XForms_2.0中的“3.2.4.2 变量范围”一章之后的示例表明,在使用变量的值时需要一个 $ 前缀,但两个 XSLTforms在将最后一个输出更改为 value="$pg_name" 时,betterForm 会抛出异常。上面的代码在语法上似乎是正确的,但是变量的值并没有打印出来。有人可以解释一下吗?
forms - Xforms 复选框 - 用 Y / N 替换 True / False
我正在编写一个表单(betterFORMs/Xforms),通过选择复选框向用户显示。如果复选框为空,则表单应将“N”绑定到元素中。勾选时,一个“Y”。我意识到这个问题已经有了答案,但我已经尝试了所有已回答的解决方案,但没有运气。
我尝试使用的第一个解决方案 在这里 - stackoverflow 链接
(第一个解决方案看起来不错,但我在解决方案 2 上取得了更大的成功,因为我没有使用 Orbeon)
给出的答案是我正在寻找的,但我无法在我的表单中实现它。我没有使用 Xhtml 或 Orbeon,因此我使用的绑定似乎与解决方案中使用的不同。)我尝试调整此代码以适合我的表单,但每次加载时我都会从 xml 解析器中收到重复错误该页面 - 但它并没有指向与新代码相关的任何地方。
我尝试过的下一个解决方案在 这里找到 - stackoverflow 链接
这个答案在我的代码中得到了最好的结果,因为复选框值在不使用和取消选择时会更改为 N。我对这个解决方案的问题是表单元素中设置的 Y 包含在大括号 - [] 中。
输出示例:
这是我的表单的一个片段:
模型:
形式:
为什么复选框值现在设置为“[Y]”而不是“Y”?(这可能与阵列有关吗?)谢谢。
PS。我知道我可以为每个复选框使用一个布尔值来做到这一点,复选框值对应于布尔值,这反过来会更新绑定值。我宁愿不必有一大块布尔元素和绑定,因为我有大量的复选框。这个解决方案在这里有一个例子- stackoverflow 链接
javascript - Xforms with javascript - 确定复选框是选中还是未选中
我正在使用 betterFORMS 开发一个表单,它允许用户检查哪些字段适用于他们,然后发送数据进行处理。表单已完成且正在工作 - 我只想添加一些表单验证,如果未选中任何复选框,则停止用户发送请求。
模型和命名空间:
我的表格:
这个想法是向用户显示的提交按钮调用 javascript 函数 checkForm() 然后被禁用。
javascript 函数查看我的每个文本框,如果至少选中一个,则使用对用户隐藏的 maskButton 提交发送表单。否则,显示警告消息。
我一直在玩 getElementById() 函数,但似乎无法从我的复选框中获取任何值(选中或未选中),所以这就是为什么我只尝试在警报中显示该值。如果未更改或未选中(与表单提交相同),此警报应显示 Y 表示已选中或为空。但无论我尝试了什么,警报都是空的。
另一种方法是在表单后添加一个确认页面,这样就不会丢失所有内容。我要你看看我想做的事是否可行。谢谢
exist-db - 如何禁用betterForm javascript
我使用带有betterFORM 的exist-db 将xforms 更改为HTML,但是betterFORM 制作了很多我不需要的javascript。请帮助我禁用在 betterFORM 中生成 javascript。
binding - 如何使用 XForms 构建搜索应用程序
我正在开发一个使用 XForms 标准的搜索应用程序。应用程序搜索一个包含学生数据的小型 xml 文件。我已经使用 XQuery 编写了查询,并且已经尝试过了。查询结果很好,很好。但是当我使用 XForms 将它们与实例和提交连接起来时,表示层(一个 xf:repeat 表,每个原始数据都是一个学生)根本不会更新。我知道查询是有效的。演示文稿很好,但我不确定。我的问题可以请帮助我制作此应用程序的工作副本。
型号如下
结果将被绑定到此处的重复部分:
那么这段代码有什么问题!
javascript - Change the value of xforms element via javascript?
I was wondering if it's possible to change the value of an xforms element via javascript and then submit the form with that value?
what i have tried is change the text of an xforms:input when an <input type="file">
is triggered and it works, the thing is that when i submit the form, the xforms:input doesn't seem to apply the value
why am i getting the spans and inputs? if you check the xforms:input element in the console you'll see that it's converted to