如何使用Watson对话对话框创建表单生成器
问题描述:
我正在使用Watson对话项目。 我输入以下沃森项目,我与我的谈话配置它: https://github.com/watson-developer-cloud/car-dashboard如何使用Watson对话对话框创建表单生成器
我想聊天机器人,以显示给用户,用户有权利选择7个选项的复选框。每个点击一个选项链接到对话框的一部分。 此刻,我已插入这个文本对话框节点
"Select:<br>
<select id='select' on select: 'select()'>
<option value='01' selected> Product 1 </option>
<option value='02'>Product 2</option>
</select>" \t
而且我有以下的情况
试图按照这篇文章(How use Select Option in Watson Conversation)已写入将index.js文件中的代码复制到我的项目中,该文件不存在。
问题是两个: 1)你怎么能有一个复选框,而不是一个下拉菜单? 2)您可以在项目的github页面上看到层次结构的哪个文件,请输入建议的代码?
答
正如@Arlemi指出的那样,您只能使用链接上提到的复选框代码。
但是!你试图做什么的问题是,如果你试图渲染其他系统,它将成为一个噩梦来维护。
此外,会话代码有10MB的限制,因此添加无关代码会降低该限制。
将代码分开并让应用程序层执行代码创建会更好。
例如,使用W3学校的链接代码:
<input type="checkbox" name="vehicle1" value="Bike"> I have a bike<br>
<input type="checkbox" name="vehicle2" value="Car"> I have a car<br>
<input type="checkbox" name="vehicle3" value="Boat" checked> I have a boat<br>
你必须像如下对话框节点。然后
{ "context": {
"vehicle_options": {
"type": "checkbox",
"options": [
{ "name": "vehicle1", "value": "Bike", "text": "I have a bike" },
{ "name": "vehicle2", "value": "Car", "text": "I have a car" },
{ "name": "vehicle3", "value": "Boat", "text": "I have a boat", "checked": true },
]
}
},
"output": {
"text": {
"values": [ "Select your Vehicles: <! vehicle_options !>" ]
}
}
}
您的应用程序层查找<! !>
和使用该块内的值来决定读什么上下文对象。它将使用type
值来确定如何渲染,并使用options
作为该渲染的一部分。
这意味着您的应用程序层可以创建HTML或任何其他语言(例如Swift)。这也意味着你可以在其他地方控制样式,而不必改变会话响应。它也减少了噪音,使维护/阅读更容易。