谁能告诉我如何编码,使用XForms,一个小工具,允许选择上传的图片文件,如果需要的话,重复?也就是说,用户一次上传一张图片,但如果需要,可以选择一次又一次地继续上传。
它可以是元素,也可以只是一个简单的元素。我不确定repeat元素与trigger元素之间的关系。是repeat元素告诉XForms处理器重复显示哪些UI元素吗?而触发器元素是一个更新底层模型的按钮?
我不清楚如何捕捉这些信息。我是否需要大致如下的内容:
<xforms:repeat
<xforms:trigger>
<xforms:label>Add pic</xforms:label>
<xforms:upload
ref="data/picture[@id='1']"
mediatype="image/*">
</xforms:upload>
</xforms:trigger>
</xforms:repeat>例如,如果用户上传了5张图片,是否可以将每张图片识别为pic1、pic2、pic3?
谢谢!
发布于 2013-05-17 09:30:10
Xforms Repeat元素在要显示的现有数据上重复,您想要做的是显示现有照片并插入新照片。XForms维基书籍相当全面,所以你可能想看看http://en.wikibooks.org/wiki/XForms/Insert和http://en.wikibooks.org/wiki/XForms/Repeat_into_table
下面是一个未经测试的例子,它应该给你一个很好的指示,你需要做什么。
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:ev="http://www.w3.org/2001/xml-events">
<head>
<title>XForms insert example</title>
<xf:model>
<xf:instance>
<Data xmlns="">
<Photo name="My Photo">
<!-- Data here -->
</Photo>
<NewPhoto name="">
</NewPhoto>
</Data>
</xf:instance>
</xf:model>
</head>
<body>
<fieldset>
<legend>Company Phone List</legend>
<p>
<b>Uploaded Photos...</b>
<ul>
<xf:repeat id="list" nodeset="/Data/Photo">
<li><xf:output ref="@name" /></li>
</xf:repeat>
</ul>
</p>
</fieldset>
<fieldset>
<legend>Add New Photo</legend>
<p> <!-- here is where we get the new record -->
<xf:input ref="/Data/NewPhoto/@name">
<xf:label>Photo Name:</xf:label>
</xf:input>
<xforms:upload
ref="/Data/NewPhoto"
mediatype="image/*">
</xforms:upload>
<xf:trigger>
<xf:label>Insert... </xf:label>
<xf:action ev:event="DOMActivate">
<xf:insert nodeset="/Data/Photo" at="index('list')" position="after" />
<xf:setvalue ref="/Data/Photo[index('list')]/@name" value="/Data/NewPhoto/@name" />
<xf:setvalue ref="/Data/Photo[index('list')]" value="/Data/NewPhoto" />
</xf:action>
</xf:trigger>
</p>
</fieldset>
</body>
</html>https://stackoverflow.com/questions/11822173
复制相似问题