【问题标题】:Can't get what I want from a for-loop in template?无法从模板中的 for 循环中得到我想要的东西?
【发布时间】:2012-05-16 16:24:46
【问题描述】:

我有这样的模板:

{% for a in As%}
    <div>blah--blah--</div>
    <input type="hidden" name="doSomeThingTarget" value={{a.xx}}>
    <input type="hidden" name="submit" value="doSomeThing">
{% endfor%}

循环可能会执行几次,并显示一些提交按钮。

在python文件中,我编码:

target = self.request.get('doSomeThingTarget')

您知道,我尝试使用value={{a.xx}} 将值保存在特定循环中,因此,当我单击其中一个按钮时,我可以确定我需要处理的目标是什么。但是无论我点击哪个,我都会得到第一个循环的值。我的代码有什么问题?如何实现我的意图?

谢谢。

【问题讨论】:

  • 不好意思,我的unswer被我删了,因为我的想法是错误的,测试后才看到。
  • @DaneSoul 这对我不起作用。我写了一个小MySubmit:alert("这个提交按钮的值是" + document.forms[0].doSomeThingTarget.value);但是当我单击一个按钮时,警报窗口显示它获得了未定义的值。
  • @是的,我也试试。不过还是谢谢你。

标签: python django google-app-engine templates


【解决方案1】:

您正在定义一个表单,其中包含同名的隐藏输入元素的多个副本。结果,您只能获得一份副本(尽管如果您使用 get_all,您将获得所有这些副本的数组)。

相反,您应该在循环中包含表单开始和结束标记,使每次迭代都有自己的表单。

【讨论】:

  • - 这样的代码可以正常工作并传递适当的值...
  • 太棒了!感谢 Nick 和 DaneSoul。 :)
猜你喜欢
  • 1970-01-01
  • 2015-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-12
  • 1970-01-01
  • 2013-05-08
相关资源
最近更新 更多