如何使用多个输入参数动态创建表单并使用jQuery ajax响应立即提交操作?

时间:2016-11-03 15:19:17

标签: jquery ajax forms ajaxform

我想基于ajax响应数据动态提交表单操作,输入类型值和操作URL的参数应该是动态的。

$.ajax({
    url: "https://abcd.com",
    data: JSON.stringify(gatewayData),
    method: "POST",
    headers: {
        'Content-Type': 'application/json'
    },
    success: function(response) {

        if (response.success) {
            var parentDiv = $("#form_div");
            parentDiv.html("");
            var result = $("<form>", {
                'name': 'pgForm',
                'id': 'pgForm',
                'action': response.data.url,
                'method': 'post'
            }).append(parentDiv);
            $.each(response.data.formParam, function(key, value) {
                $('<input>').attr({
                    'type': 'hidden',
                    'id': key,
                    'name': key
                }).val(value).append(result);
            });
            $('<input>').attr({
                'type': 'hidden'
            }).val("submit").append(result);

            $("#pgform").submit();

        } 
    },
    error: function(e) {

    }
});

1 个答案:

答案 0 :(得分:0)

团队我有一些不同的想法,它在我的最后工作。请找到下面的代码并建议我们更多的标准。

$.ajax({
    url: "abcd.com",
    data: JSON.stringify(gatewayData),
    method: "POST",
    headers: {
        'Content-Type': 'application/json'
    },
    success: function(response) {

        if (response.success) {

            var formData="<form id=\"paytmForm\" method=\"POST\" name=\"redirect\" action=\"xyz.com">";
            $.each(response.data.gatewayFormParam, function( key, value ) {
                formData+="<input type=\"hidden\" name=\""+key+"\" id=\""+key+"\" value=\""+value+"\">";
            });
            formData+="</form>";
            $("#form_div").html(formData);
            $("#form_div").show();
            $("#paytmForm").submit();

        } 
    },
    error: function(e) {

    }
});