ı try jqery dynamic form wroking so good but when ım add new form ım cant saved and ı cant fixed problem ?? did fixed your problm ??
19 Mart 2020 Perşembe tarihinde saat 11:18:04 UTC+3 itibarıyla [email protected] şunları yazdı: > I am trying to create a splitwise <https://www.splitwise.com/> clone > application for my weekend project. I have arrived at a stage where I have > to create a new Bill. Please find below screenshot. > > In this form I have three queries: > > 1. A dynamic form where a model with fields (amount, user) can be > added or removed dynamically. I am using modelformset_factory to perform > this operation. From the UI's perspective I am using javascript to add two > fields based onClick operation and similarly remove onClick, please check > code. My question is, is this correct approach from UI's perspective to > create dynamic fields using javascript or is there any other right way ? > 2. I am passing users list from views.py to my bill.html template. > Again, is this a correct approach ? Or is there any other right way ? > 3. After creating multiple split forms and clicking on create Bill. At > the view.py I am receiving only one split form rather than multiple ?? I > am > thinking something is wrong because of might be above two approaches are > not correct !!! Need help over this. > > [image: Screenshot 2020-03-19 at 1.31.33 PM.png] > > > This is the javascript I am using to create split model having two fields > (amount and user). Providing the existing users list from the users args I > passed from the views.py > bill.html > >> <script> >> var room = 1; >> function education_fields() { >> room++; >> var objTo = document.getElementById('education_fields') >> var divtest = document.createElement("div"); >> divtest.setAttribute("class", "form-group removeclass"+room); >> var rdiv = 'removeclass'+room; >> divtest.innerHTML = '<div class="col-sm-5 nopadding"><div >> class="form-group"> <input type="text" >> class="form-control" id="amount" placeholder="Amount"></div></div><div >> class="col-sm-5 nopadding"> >> <div class="form-group"> <select type="select" class="form-control"> >> {% for user in users %}<option>{{user}}</option>{% endfor >> %}</select></div></div> >> <div class="col-sm-2 nopadding"><div class="form-group"><div >> class="input-group"> >> <div class="input-group-btn"> <button class="btn btn-danger" >> type="button" onclick="remove_education_fields('+ room +');"> >> <span class="glyphicon glyphicon-minus" aria-hidden="true"></span> >> </button></div></div></div></div><div class="clear"></div>'; >> objTo.appendChild(divtest) >> } >> function remove_education_fields(rid) { >> $('.removeclass'+rid).remove(); >> } >> </script> >> >> > models.py > >> class Bill(models.Model): >> bill_id = models.AutoField(primary_key=True, null=False) >> bill_name = models.CharField(max_length=100) >> total_amount = models.IntegerField() >> >> def __str__(self): >> return "%s-%s"%(str(self.bill_id), self.bill_name) >> >> class Split(models.Model): >> amount = models.IntegerField() >> split_user = models.ForeignKey(User, on_delete=models.CASCADE, null=True) >> bill = models.ForeignKey(Bill, on_delete=models.CASCADE, null=False, >> default='0000') >> >> def __str__(self): >> return "%s-%s" % (str(self.bill_id), self.amount) >> >> > forms.py > >> class BillModelForm(forms.ModelForm): >> class Meta: >> model = Bill >> fields = ('bill_name', 'total_amount') >> labels = { >> 'bill_name': 'Enter the Expenditure', >> 'total_amount': 'Enter the total amount', >> } >> >> SplitFormSet = modelformset_factory( >> Split, >> fields=('amount','split_user'), >> extra=1, >> labels = { >> 'amount': 'Enter the split amount', >> 'split': "Share Friend", >> }, >> widgets={ >> 'amount': forms.TextInput( >> attrs={ >> 'class': 'form-control', >> 'placeholder': 'Amount', >> 'id':'amount', >> } >> ), >> 'split_user': forms.Select( >> attrs={ >> 'class': 'form-control', >> 'placeholder': '', >> }, >> ) >> } >> ) >> >> > > Thanks, > Rahul > > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/fa5e0640-d86c-48f2-8f17-12e21ad79e68n%40googlegroups.com.

