要从单选按钮表单中获取选定的选项,我正在查看request.vars以获取值。以下是控制器代码:
def get_results():
test = request.vars['QuestionOne']
for topic in session.selectedtopics:
test = test + request.vars[topic]
return locals()
现在是该视图的代码:
{{extend 'layout.html'}}
<P>Please select the options that most closely approximates the actual scenario.
<br>
<form action="{{=URL('get_results')}}" method="post">
{{nameTopic =""}}
{{session.selectedtopics = list()}}
{{for topic in topics:}}
{{if nameTopic <> topic.topic.replace(" ", "_"):}}
<br><h2>{{=topic.topic}}</h2>
{{nameTopic = topic.topic.replace(" ", "_")}}
{{session.selectedtopics.append(nameTopic)}}
{{pass}}
<p><input type="radio" name={{=nameTopic}} value={{=topic.param}}>{{=topic.param}}</p>
{{pass}}
<br>
<input type="submit">
</form>
这是问题所在:我不知道原因,但它只是在单选表格中得到所选选项的第一个单词。例如,选择的选项为“正常”,但是var仅返回“ It”。知道为什么会发生吗?
谢谢。
答案 0 :(得分:0)
您需要引用HTML属性值:
<input type="radio" name="{{=nameTopic}}" value="{{=topic.param}}">
没有引号,您将得到最终的HTML,如:
<input type="radio" name=some_topic value=It is normal>
浏览器会将值解释为“ It”,“ is”和“ normal”是无效的HTML属性。