我有两张表格。在我的例子中,我希望在第一个表单模板中通过模式提交第二个表单。相反,当我点击链接时会弹出模态,但当我点击submit按钮时,模态表单不会被提交,而主表单会被提交。我创建了一个模拟问题的最小化项目
# models.py
class TestModel1(models.Model):
name = models.CharField(max_length=20)
class TestModel2(models.Model):
name = models.CharField(max_length=20)
# forms.py
class TestModel1Form(forms.ModelForm):
class Meta:
model = TestModel1
fields = ["name", ]
class TestModel2Form(forms.ModelForm):
class Meta:
model = TestModel2
fields = ["name", ]
# views.py
class TestModel1Create(CreateView):
model = TestModel1
form_class = TestModel1Form
template_name = 'mytestapp/testmodel1_form.html'
success_url = '/testmodel1/create'
class TestModel2Create(CreateView):
model = TestModel2
form_class = TestModel2Form
template_name = 'mytestapp/testmodel2_form.html'
success_url = '/testmodel1/create'
以下是“主”表单testmodel1_form.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" />
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/js/bootstrap.min.js"></script>
<a href="/testmodel2/create/" class='li-modal'>Goto form 2</a>
<div id="theModal" class="modal fade text-center">
<div class="modal-dialog">
<div class="modal-content"></div>
</div>
</div>
<script>
$('.li-modal').on('click', function(e){
e.preventDefault();
$('#theModal').modal('show').find('.modal-content').load($(this).attr('href'));
});
</script>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Save">
</form>
</body>
</html>
下面是模式表单testmodel2_form.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Save">
</form>
</body>
</html>
我希望这样做的方式是,在主窗体中,通过模态发布次窗体,然后重新加载主窗体
目前没有回答
相关问题 更多 >
编程相关推荐