2012-07-14 46 views
2

我是如何动态地通过jQuery与jQuery动态发送json格式的表单数据? 比如我编码这样的事情在JQ:以json格式通过ajax动态发送表单数据使用jQuery动态表单数据

$.post("test.php", { func: "getNameAndTime" }, 
    function(data){ 
     alert(data.name); // John 
     console.log(data.time); // 2pm 
    }, "json"); 

,这很好,但在现场应用经常需要发送大量表单数据和用户可以动态改变的领域,所以我不知道如何许多func1,func2,func3甚至func []将被发送。 q是如何动态地做到这一点,在AJAX的旧世界中,我可以通过将表单实现并发送到服务器来完成。 Thanx提前。

+0

感谢Utkanos(+1点)提出的解决方案,他建议用类命名字段,然后通过$。每个JQ函数传递它,但是我们可以在不依赖类或id的情况下完成此操作,只需发送整个形成?如果没有,我们可以发送多个表单项目,如输入名称=“电子邮件[]”等? – 2012-07-14 12:14:38

回答

5

是的,我都可以将数据发送到服务器,并在任何情况下,它会行之有效, 例如:

$(function() { // on document load 
$('#email_form').submit(function() { // set onsubmit event to the form 
    var data = $('#email_form').serialize(); // serialize all the data in the form 
    $.ajax({ 
    url: 'testJson.php', // php script to retern json encoded string 
    data: data, // serialized data to send on server 
    dataType:'json', // set recieving type - JSON in case of a question 
    type:'POST', // set sending HTTP Request type 
    async:false, 
    success: function(data) { // callback method for further manipulations    
     for (key in data.email) { 
     alert(data.email[key]); 
     } 

    }, 
    error: function(data) { // if error occured 

    } 
    }); 
    return false; 
}); 

});

+16

这不会以json格式发送表单数据。 'dataType:json'只告诉ajax请求它预期返回的数据是json。 – 1615903 2014-11-06 12:44:39

3

可以为AJAX请求构建动态数据,但显然您需要知道检索该动态数据的逻辑。你不会在你的问题中描述这个,所以在下面的例子中,我假设它是基于表单中.user_input字段的数量(可以是2,或10,或其他)。数据由字段名称+字段值组成。

重点是显示数据的动态收集,就这些。

var ajax_data = {}; 
$('.user_input').each(function() { 
    ajax_data[$(this).attr('name')] = $(this).val(); 
}); 
$.post('some/url.php', ajax_ata); //etc 
+0

还有一件事,如果有多个字段如name =“emial []”,我该怎么办?我认为这种方法不适用于此目的。 – 2012-07-14 11:58:12

+1

正如我在回答中所说的那样,编译数据的方法取决于您,我无法预测这一点。我假设了一个人为的例子,你只想收集'user_input'字段中的值。我只是简单地表明,是的,你可以构建动态的AJAX数据。 Янерусскийноможеткажетсятак,из-замоегоюзернейм。 ЯвРоссиижилвтечении4лет。 – Utkanos 2012-07-14 12:06:15

+1

Охереть,тыАнгличанен-программист,которыйжилвроссии4года - круто=)是的,你的用户名告诉我关于俄罗斯的概率。 – 2012-07-14 12:08:45

相关问题