views:

147

answers:

1

Hi to all! my question is, how can i create a table with dynamic fields (i will explain this later), and send them values by mail with eform?

In the table, on the left, i want to print all the document childs that are using template XX, and on the top, i want the user to specify how much collums he wants (besides the products/documents collum) and give a name for them. this is to create a table based shop for buyers that order a lot of products at the same time. If the buyer has 3 clients, he says that he want 3 collums with the "Row1" "Row2" and "Row3" names, so it will be something like this:

         Row1 Row2 Row3 Total
Product1 [0]  [0]  [0]  0
Product2 [0]  [0]  [0]  0
Product3 [0]  [0]  [0]  0
Product4 [0]  [0]  [0]  0
Product5 [0]  [0]  [0]  0
Product6 [0]  [0]  [20] 20
Product7 [0]  [0]  [0]  0
Product8 [0]  [3]  [0]  3
Product9 [0]  [0]  [0]  0
Product10 [0]  [0]  [0]  0
Product11 [0]  [0]  [0]  0
Product12 [0]  [0]  [0]  0
                         23

the fields with [] are editable, and the others are automaticly calculated with jquery.

Can anyone help me?

thanks in advance for all comments/answers!

+1  A: 

I'm thinking you might be able to create an eform that has a snippet or ditto call inside it to do this.

The scenario is a bit complex and I don't get which part is done by modx and which part by jquery, but you could do quite a bit of this with jquery aswell.

what I mean is, that you could create a hidden field for each of the rows(products), and push a comma delimited array of the columns(Row) selected, that jquery would update, and then use JQ to create the additional fields (rows + total)

then you can create an eform that would have a ditto call inside if to call all the children of a document and create a form field for each. I'm not sure if ditto can select resources based on the template used, so if it cannot, you might need to create a snippet to traverse through the documents, or use phx to check for the template

I realize that this doesn't exactly solve the problem, but hopefully gives you some things to try

Daniel