1
是否可以通過單個「提交」按鈕提交多個表單?如果是這樣,那麼執行此操作的方法是什麼?謝謝。web2py:可能通過一個「提交」按鈕提交多個表單?
是否可以通過單個「提交」按鈕提交多個表單?如果是這樣,那麼執行此操作的方法是什麼?謝謝。web2py:可能通過一個「提交」按鈕提交多個表單?
這嚴格來說,不是web2py
的問題,而是一個HTML(DOM - 文檔對象模型)和操縱DOM的javascript
問題。
您可以通過使用javascript
一次提交2個(或多個表單),單擊一個按鈕。
像這樣: -
<form id="id1" ...> ...</form>
<form id="id2" ...> ...</form>
<button onclick="document.getElementById('id1').submit();document.getElementById('id2').submit();" />
你可能會遇到問題時,你必須要求你的web2py應用程序,它現在需要處理的同時發佈到兩個獨立的網址/功能?
正確的做法可能是您可能需要編寫一個函數,將表單對象作爲單個表單的一部分更改爲字段集。
在django中,表單集完成這一操作,並將多個表單轉換爲屬於模板中只有一個HTML表單的字段集,因此原始「多個表單」成爲前端單一表單的一部分。
像這樣: -
<form method="post" action="">
{{ formset.management_form }}
{% for form in formset %}
{{ form.id }}
<ul>
<li>{{ form.title }}</li>
{% if formset.can_delete %}
<li>{{ form.DELETE }}</li>
{% endif %}
</ul>
{% endfor %}
</form>
web2py
: -
http://www.web2pyslices.com/slice/show/1458/two-forms-on-one-page-with-custom-forms-to-update-record
def new():
form = SQLFORM.factory(db.contact,db.groups)
if form.accepts(request.vars):
_id_user = db.contacts.insert(**db.contacts._filter_fields(form.vars))
form.vars.contact = _id_user
id = db.groups.insert(**db.groups._filter_fields(form.vars))
response.flash = 'User registered successfully'
return locals()
返回到您的web2py模板1單唯一形式。
謝謝,卡爾文。對不起,如果問題是模糊的。我想在web2py網格的每個標題中放置一個表單 - 替代方案似乎是編輯網格類本身的代碼。我通過創建一堆表單來解決這個問題,第一個表單包含一個提交按鈕和一些隱藏的輸入字段,其他表單用輸入字段。當按下第一個表單上的提交按鈕時,其他表單的輸入字段的值將被複制到jQuery的第一個表單中。只提交表格,並將所有其他表格的值提交給它。 – Lamps1829
更新你的問題(與HTML代碼片段,Python代碼片段等),所以其他人可能會幫助...和你的問題不會被關閉爲「不是一個真正的問題」:-) –