覆盖html <input type =“hidden”/>值

时间:2012-09-11 23:50:44

标签: html django

我正在为django电子商务页面创建付款表单,我遇到了处理保存的信用卡信息的情况。

如果我想向我的服务器发出使用什么动作的信号,我是否需要以自己的形式包装第一个输入和按钮?或者我可以使用下面的代码?

 {% if user.is_authenticated and user.get_profile.stripe_customer_id %}
        <input type="hidden" name="action=" value="delete_card"/>
        <button type="submit">Use Another Card</button>

        <input type="hidden" name="action=" value="pay_saved_card"/>


 {% endif %}

2 个答案:

答案 0 :(得分:0)

通常,对于提交或取消的表单,可以在表单中添加以下内容。

<input type="submit" name="action" value="Cancel" />
<input type="submit" name="action" value="Save" />

根据django视图中的request.POST['action'],您可以处理保存表单或取消处理。

答案 1 :(得分:0)

您无法使用HTML覆盖隐藏字段,除非您可以让另一个控件发送具有相同名称的参数,然后服务器端检查该情况。

最简单的方法是使用

之类的复选框
<input type="checkbox" name="action" value="delete_card" id="othercard" />
<label for="othercard">Use Another Card</label>

不使用隐藏字段。然后,服务器端代码应测试是否存在值为action的{​​{1}}属性。

使用delete_card中的等号可能但不常见或需要:提交表单时,会生成表单name = value的数据项,因此您将获得name="action="。< / p>