範圍小部件允許使用者從直觀地表示為數軸的範圍內選擇數字。範圍小部件的參數由 XLSForm 參數列中定義的起始(start)、結束(end)和間隔值(step)定義。參數值可以是整數或小數。
如果所有三個參數值都是整數,則輸入將儲存為整數。
type | name | label | appearance | hint | Parameters |
---|---|---|---|---|---|
range | range_integer_widget | 整數範圍 | range integer widget with no appearance | start=1;end=10;step=1 |
type | name | label | appearance | hint | parameters |
---|---|---|---|---|---|
range | range_decimal_widget | 小數範圍 | range decimal widget with no appearance | start=1.5;end=5.5;step=0.5 |
若要顯示不含刻度的範圍小工具的數軸,請使用無刻度外觀。支援整數和小數。您也可以將此外觀與垂直範圍小工具一起使用。
type | name | label | appearance | hint | parameters |
---|---|---|---|---|---|
range | range_integer_widget_no_ticks | 無刻度範圍 | no-ticks | range integer widget with no-ticks appearance | start=1;end=10;step=1 |
若要垂直顯示範圍小工具的數軸,請使用vertical(垂直)外觀。支援整數和小數。
type | name | label | appearance | hint | parameters |
---|---|---|---|---|---|
range | range_integer_widget_vertical | 垂直範圍工具 | vertical | range integer widget with vertical appearance | start=1;end=10;step=1 |
新增選擇器外觀後,範圍小工具會在對話方塊中顯示,並帶有微調器樣式的選擇選單。水平線之間的值是所選值。使用者可以上下滾動微調器,或點擊上方的數值可增加 1,點擊下方的數值可減少 1。
type | name | label | appearance | hint | parameters |
---|---|---|---|---|---|
range | range_integer_widget_picker | 範圍選擇工具 | picker | range integer widget with picker appearance | start=1;end=10;step=1 |
新增rating (評級)外觀後,範圍小工具將顯示為具有相等間距的星星。星星的數量是使用 end 參數計算的。當使用者點擊空星星時,直到該星星(包括該星星)的星星都會被填滿。如果星星不適合設備寬度,它們將換行到額外的行。
type | name | label | appearance | hint | parameters |
---|---|---|---|---|---|
range | range_integer_widget_rating | 評價工具 | rating | range integer widget with rating appearance | end=5 |
type | name | label | hint |
---|---|---|---|
note | note_1 | 這是註解示範 | 這邊可以顯示內容但無法編輯. |
提供使用者可以從調查中開啟的連結。不接受任何輸入。 預設指定要開啟的 URL。
type | name | label | appearance | hint | default |
---|---|---|---|---|---|
text | url_widget | 網址小工具 | url | text type with url appearance and default value of https://getodk.org/ | |
https://getodk.org/ |
當文字欄位具有printer外觀時,ODK Collect 將其文字值解釋為 HTML。當使用者點擊「列印」按鈕時,「收集」會顯示所呈現的 HTML 的列印預覽。在預覽畫面上,使用者可以另存為 PDF 或傳送到連接的印表機。
type | name | label | appearance | calculation |
---|---|---|---|---|
text | id_card | 點選按鈕進行列印 | printer | [要列印的內容,後面詳述] |
設定要列印的值,可以於calculation使用表達式,通常使用 concat() 函數,以便可以包含表單中的值。
建議先使用HTML編輯器進行編輯,於網路瀏覽器中測試,完成後再轉換為 concat 函數以及插入表單值。
HTML內不需, 等標籤,只需要呈現的內容即可,另外也可以透過標籤,來建立QRCode,只要在標籤內的任何文字值,都會被編碼到 QR Code圖片內。
type | name | label | hint | required | appearance | constraint_message | calculation | parameters |
---|---|---|---|---|---|---|---|---|
begin_group | id_card | field-list | ||||||
text | id | 請輸入工號: | yes | |||||
select_one department | department | 請選擇部門: | yes | minimal | ||||
text | c_name | 請輸入中文名: | yes | |||||
text | e_name | 請輸入英文名: | yes | |||||
image | photo | 拍大頭照 | yes | max-pixels=1024 | ||||
calculate | create_date | format-date-time(now(),'%Y/%m/%d') | ||||||
end_group | ||||||||
text | print_id_card | 點這進行列印 | 點選後,將印出含有QR Code的內容 | printer | 內容下面解說 |
點選後,可以看到產生要列印的預覽畫面,可以轉存PDF或者列印到連線的印表機,轉存PDF的話可以調整紙張大小,以便容納更多資訊。
儲存可以開啟PDF查閱。
上面的calculation欄位內容如下:
concat("
<div style='display: flex; flex-direction: column; align-items: center; justify-content: center;'>
<img width='150' src='", ${photo}, "'>
<table>
<tr>
<td>ID</td>
<td>", ${id}, "</td>
</tr>
<tr>
<td>部門</td>
<td>", ${department}, "</td>
</tr>
<tr>
<td>中文名稱</td>
<td>", ${c_name}, "</td>
</tr>
<tr>
<td>英文名稱</td>
<td>", ${e_name}, "</td>
</tr>
<tr>
<td>列印日期</td>
<td>", ${create_date}, "</td>
</tr>
</table>
<qrcode width='150' height='150'>", ${id}, " ", ${department}, " ", ${c_name}, " ", ${e_name}, " ", ${create_date}, "</qrcode></br>
</div>
")
觸發小工具,也稱為確認小工具,使用後會出現一個複選框。完成的觸發回應儲存為字串 OK。 此處顯示的範例包含必需的屬性。
type | name | label | hint | required |
---|---|---|---|---|
trigger | my_trigger | 確認/觸發 小工具 | Prompts for confirmation. Useful to combine with required or relevant. (type=trigger) | true() |
用於收集用戶的簽名。
type | name | label | appearance | hint |
---|---|---|---|---|
image | signature_widget | 簽名小工具 | signature | image type with signature appearance |
可以透過begin_group與end_group這兩列,將同作用的小工具,歸類在同一群組內,之後於begin_group列的appearance欄位上,加上field-list(欄位清單)屬性,這樣就可以把這組小工具一起顯示在同一畫面。
要注意的是,不支援在同一畫面上(欄位清單群組內)顯示重複問題(Repeating questions )。
如果您有多個具有相同選項的選擇題,將它們分組在一個畫面上會很有幫助。
為此,請將您選擇的問題放入欄位清單群組中,並使用以下外觀屬性:
Label (標籤):僅顯示選項標籤,不顯示複選框。這用於上例中帶有[Yes]和[No]選項的頂行。
list-nolabel(列表無標籤):僅顯示複選框或單選按鈕,不顯示其標籤。這用於上例中的問題行。
list(清單) :標籤與多選問題的複選框和單選問題的單選按鈕一起顯示。您可以使用它而不是使用標籤行來使選項標籤更靠近複選框或單選按鈕。
type | name | Label | appearance |
---|---|---|---|
begin_group | underlying_conditions | Underlying conditions | field-list |
select_one yes_no | condition_labels | Conditions | label |
select_one yes_no | Comcond_preg | Pregnancy | list-nolabel |
select_one yes_no | Comcond_partum | Post-partum (< 6 weeks) | list-nolabel |
end_group | underlying_conditions |
並非所有問題類型都會在 Collect 中呈現為可見小部件。隱藏欄位收集和儲存可作為變數存取的值,並可在 Central 和其他資料分析工具中使用。
元資料問題取得有關設備或調查收集事件的訊息,並且對使用者隱藏。
開始、結束和今天(start, end, and today)取決於設備時間。根據設備硬體、作業系統、時脈配置、網路配置,設備時間可能會錯誤。
若要可靠地測量事件之間的時間(例如,了解調查花費了多長時間)或取得表單內使用者行為的更完整記錄,請考慮使用表單審核日誌記錄(form audit logging.):
https://docs.getodk.org/form-audit-log/
此項目在安裝時定義且無法變更:
這兩個項目在 Collect 中可以定義:
可由Collect中的 Settings(設置)->User and device identity(使用者和裝備標示)->Form metadata(表單元資料)中編輯
type | name |
---|---|
start | start |
end | end |
today | today |
deviceid | deviceid |
username | username |
phonenumber | phonenumber |
start-geopoint | start-geopoint |
開始地理點問題類型用於在調查首次開始時捕獲地理點格式的單一地理位置。
start-geopoint 類型的問題可以指定任何允許的名稱。儘管表格中可能有多個起始地理點問題,但所有問題都具有相同的值。
每當在 Collect 中開啟包含起始地理點問題的調查時,普查員都會看到一條警告,提示表單追蹤設備位置。如果裝置電池電量低,或者由於任何原因需要關閉位置跟踪,您可以點擊: 追蹤位置或關閉 Android 中的位置提供者。
第一次開啟包含起始地理位置問題的調查時,Collect 將嘗試讀取裝置的地理位置。將記錄 20 秒視窗內接收到的最高精度的地理定位讀數。當 Collect 請求地理位置時,Android 狀態列中將顯示位置圖示。
地理位置是使用來自 GPS、WiFi 和可能的其他訊號的資料讀取的,因此此功能應該適用於大多數環境。
如果地理位置資訊無法使用,該問題會空白。出現空白值的原因可能包括設備關閉GPS功能、Collect 沒有位置權限、未安裝 Google Play 服務、GPS 沒有衛星鎖定等。提交的表單中未提供故障排除資訊。
包含起始地理點問題可以透過「加熱」GPS 更快地取得其他位置問題類型的高精度地理定位讀數
Calculate(資料計算)可讓您計算複雜的表達式,並儲存值以供後續使用。
type | name |
---|---|
background-audio | my_recording |
當表單包含background-audio(背景錄音)類型的問題時,將在表單開啟時錄製音訊並將其作為單一音訊檔案附加到表單提交中。這些錄音可用於品質保證、訓練、轉錄等。當您想要確保記錄表單填寫過程中發生的所有事情時,請使用背景錄音而不是使用錄音小工具。
預設情況下,音訊檔案將以 amr 格式儲存,位元速率為 12.2 kbps,取樣率為 8 kHz,檔案大小約為每小時 5 MB。這些設定對應於音訊問題的純語音質量,並最大限度地減少檔案大小,同時保持兩個人之間對話的合理品質。您可以透過在參數列中指定值來覆寫預設質量,如之前提的錄音品質設置。
type | name | parameters |
---|---|---|
background-audio | my_recording | quality=low |
規劃背景錄音
在將背景錄音添加到表單前,請確保遵守當地有關錄音的法律。建議在表格開頭添加註釋,以提醒資料收集者和參與者他們正在被記錄並描述記錄的目的。根據具體情況,可能需要徵求麥克風說話範圍內,每個人的同意。
此外,您應該制定使用產生的音訊檔案的計劃。您是否有人可以聆聽並理解許多音訊檔案?您可以使用語音轉文字功能嗎?也要考慮您的資料收集器是否能夠發送音訊檔案。他們能夠獲得足夠快的網路連線嗎?他們的互聯網計劃或積分數量是否允許他們發送您期望的所有音訊檔案?
將後台錄音與審核日誌記錄結合會很有幫助,以便在收聽錄音時獲得更多背景資訊。記錄在表單啟動和表單復原事件處開始,並在表單退出事件處停止。您可以使用表單開始時間和事件開始時間之間的差異來確定記錄特定事件發生在背景的程度。
後台錄音使用者介面 錄音正在進行時,螢幕頂部會顯示音訊狀態列。該欄有助於提醒資料收集者他們正在被記錄,並提供有關音訊音量的視覺回饋。 如果資料收集器退出表單然後重新開啟它進行編輯,則會還原錄音。只要表單打開,錄音就會繼續,即使另一個應用程式位於前台或螢幕被鎖定。請注意,無法從具有背景記錄的表單直接存取收集設定。傳送到伺服器的音訊檔案將包含每次開啟表單進行編輯時的音訊。
當記錄可能危及安全或無法獲得記錄同意時,資料收集者可以使用替代方法,但輸入一些資料仍然很重要。取消選取錄音選項後,錄音會立即結束,並且先前錄製的所有音訊都會被刪除。在目前填寫表格期間無法恢復記錄。重新開啟音訊錄製選項表示應錄製下一個表單填寫會話。如果啟用審核日誌記錄,則在資料收集器關閉記錄時將記錄後台音訊停用事件,而在資料收集器重新開啟記錄時將記錄後台音訊啟用事件。
後台錄音故障排除
在極少數情況下,例如設備空間不足,記錄可能會正常儲存,但不會附加到表單中。如果發生這種情況,錄音可能位於 Collect 目錄的錄音資料夾中。該資料夾永遠不會被清除,因此在找到檔案複製完後,可以考慮自行清空。