当前位置: 首页 > 面试题库 >

django使用一个提交按钮提交两种不同的表单

步衡
2023-03-14
问题内容

是否可以使用Django中的一个提交按钮提交两种不同的形式?我有一个称为“仪器”的形式和四个相等的形式“配置”。现在,我想始终提交一个配置和工具。例如instrument + config 1和instrument + config 2,并且每个配置都有自己的提交按钮。

我已经在配置表单中用一个按钮尝试过:

<input onclick="submitForms()" class="btn btn-primary cfg" type="submit" value="Start" >

并调用js函数“ onclick”:

submitForms = function(){
    console.log('ok'); //only for testing
    document.forms["firstForm"].submit();
    document.forms["secondForm"].submit();
}

这是我在views.py中的方法:

if request.method == 'POST':
        form1 = dataproviderInstrumentForm(request.POST)
        form2 = dynamicTimeseriesForm(request.POST)
        print(request.POST)
        if form1.is_valid() or form2.is_valid(): 
            # do some stuff

else:
    form1 = dataproviderInstrumentForm() # an unbound form
    form2 = dynamicTimeseriesForm() # an unbound form

问题答案:

不要<form ..>html中使用多个标签,而只能使用一个<form>标签并在其下添加所有形式的字段。

范例

<form >
    {{ form1.as_p }}
    {{ form2.as_p }}
    {{ form3.as_p }}
</form>

因此,当用户提交表单时,你将在视图中获得所有表单数据,然后你就可以在视图中进行操作。如

if request.method == 'POST':
        form1 = Form1(request.POST)
        form2 = Form2(request.POST)
        print(request.POST)
        if form1.is_valid() or form2.is_valid(): 

form prefix在这种情况下最好使用。

所以你可以做

if request.method == 'POST':
        form1 = Form1( request.POST,prefix="form1")
        form2 = Form2( request.POST,prefix="form2")
        print(request.POST)
        if form1.is_valid() or form2.is_valid(): 
else:
        form1 = Form1(prefix="form1")
        form2 = Form2(prefix="form2")


 类似资料:
  • 问题内容: 我有一个看起来像这样的表格: 当我绑定到表单的Submit()时,似乎无法访问用户单击的图像。因此,我试图绑定到单击图像本身(),该图像总是提交表单,无论我是否尝试 返回false; event.stopPropogation(); 要么 event.preventDefault(); 因为所有这些都是表单事件。 我应该将$ .post()附加到form.submit()事件上吗,如果

  • 问题内容: 我有以下代码,基本上它正在执行两个操作。第一个是将我的表单数据提交到google电子表格,另一个操作是将我的第二个表单文本框值数据提交到另一个页面文本框值。这个怎么做? 从上面可以看到,这是第一页,第二页是第二种形式的Sankranthi_Reserv2.asp。我想在那儿传递文本框值,所以问题是第一种形式是提交给Google文档并存储数据,但是第二种形式需要将手机号码文本框值传递给下

  • 我在一个网站上有两个类似的表单,我想合并成一个有两个提交按钮的表单。他们使用大多数相同的数据。 第一个表单使用GET将数据发送到另一台服务器。第二个表单通过电子邮件发送。我想强烈鼓励网站用户在尝试选项二之前先使用选项一。 我知道如何使用javascript实现这一点,但不是以一种退化良好的方式。还有其他方法可以有两个提交选项吗?或者其他如何实现这一点的想法?谢谢

  • 问题内容: 我在表单中有两个 提交 按钮。我如何确定哪一个被击中服务器端? 问题答案: 如果给每个人起一个名字,那么被点击的人将作为其他任何输入被发送出去。

  • 我有自己的观点; 我有自己的路线。php代码; 如果用户单击一个按钮,我希望他们调用ExcelController。如果是另一个,我要叫MapController。。。两个不同的控制器! 我的路线应该是什么?目前,当我单击其中一个时,它只会停留在当前页面上。

  • 问题内容: 目前,我有一个HTML表单,用户可以在其中输入文章的标题和文本。当需要提交时,将显示两个按钮。一种是“保存”他们的文章而不发布它,另一种是“发布”该文章并将其公开。 我正在使用PHP,并且试图找出如何分辨使用了哪个按钮,以便在数据库中存储相应的相应值。 可能应该早些时候提到过,但是我无法分配按钮值,因为按钮是图像,所以文本会显示在其上方。 问题答案: 给每一个属性。仅单击的属性将被发送