如何在POST上传递html表的内容作为表单数据?

Rob*_*ume 15 html javascript

我在a <select>和a中有一个组列表,<input type="button" value="Add Selected">用于将所选组添加到<table>值中.

已添加的组列表显示在a中<table>,每次单击"添加所选项"按钮时,javascript会动态添加行.表中的每一行都有一个"删除"链接,用于从表中删除该项.

一切正常,除了现在我想将表的内容POST到URL,我不知道如何做到这一点.

我应该为表格中的每一行添加隐藏字段吗?或者有更好的方法吗?

任何建议都非常感谢!

Mic*_*son 10

将表格包裹在表格中并将要发布的数据放入隐藏的输入中但不显示给用户

<form method="post" action="">
    <!-- your table -->
    <input type="hidden" name="name" value="your value"/>
    <button type="submit">Post</button>
</form>
Run Code Online (Sandbox Code Playgroud)


小智 6

我已经做了:

function sendTableArticles() {
        var columns = [
            'articulo.id',
            'articulo.descripcion',
            'unidadMedida.descripcion',
            'precio',
            'importe',
            'totalRequerido',
            'totalIngresado'
        ];

        var tableObject = $('#table_articles tbody tr').map(function (i) {
            var row = {};
            $(this).find('td').each(function (i) {
                var rowName = columns[i];
                row[rowName] = $(this).text();
            });

            return row;
        }).get();


        $.post('@{OrdenComprasDetalles.update()}',
                {objects:tableObject},
                function (response) {
                    console.log(response);
                }
        )
    }
Run Code Online (Sandbox Code Playgroud)

在控制器中

public static void update(List<OrdenCompraDetalle> objects){
        int i=0;
        renderJSON(i);
    }
Run Code Online (Sandbox Code Playgroud)

所以这是我的DTO

@Entity(name = "ordencompradetalle")
public class OrdenCompraDetalle extends AbstractTableMapper {

    @ManyToOne
    public Articulo articulo;

    public Float precio;

    public Float importe;

    public Boolean ingresado;

    @Column(name = "total_requerido")
    public Float totalRequerido;

    @Column(name = "total_ingresado")
    public Float totalIngresado;

    @ManyToOne
    public OrdenCompra ordenCompra;

    @ManyToOne
    public UnidadMedida unidadMedida;

    @OneToMany(mappedBy = "ordenCompraDetalle")
    public List<Movimiento> movimientos;
}
Run Code Online (Sandbox Code Playgroud)

我正在使用它,它太有用了,希望它也能帮到你