仅返回单选按钮选择的第一个单词

only first word from radio button selection is being returned

要从单选按钮表单中获取所选选项,我正在查看 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>

问题出在这里:我不知道原因,但它只获取单选表格中所选选项的第一个单词。例如,选择的选项是 "It is normal",但 var 只返回 "It"。知道为什么会这样吗?

提前致谢。

您需要引用 HTML 属性值:

<input type="radio" name="{{=nameTopic}}" value="{{=topic.param}}">

如果没有引号,您将得到最终的 HTML,例如:

<input type="radio" name=some_topic value=It is normal>

浏览器会将值解释为 "It","is" 和 "normal" 是无效的 HTML 属性。