【问题标题】:Post data of all inputs with jQuery?使用 jQuery 发布所有输入的数据?
【发布时间】:2012-06-03 18:45:46
【问题描述】:

我确实在页面上生成了一些带有随机名称的<input>s(一次几乎十个)。

遇到关于提交的问题。

我用这个代码提交:

$('.table_data').submit(function(event)
{
    event.preventDefault();
    // some validation check and then

    $.post(url, {user_mail: mail}, function()
    {
        alert('done);
    });
});

问题是,它只提交user_mail

如何提交所有<input>s 的数据?

尝试使用$.post(url, function(){}),它什么也没有发送。

可以将所有输入放入数组,然后扔给$.post函数,但我不知道如何做好。

【问题讨论】:

    标签: javascript jquery html post input


    【解决方案1】:

    如果你的表单的类名是table_data,那么就使用这个

    $.post(url,$('.table_data').serialize(), function(){})
    

    您将获得表单输入的names 作为global POST 数组的键。

    完整代码

    $('.table_data').submit(function(event)
    {
        event.preventDefault();
        // some validation check and then
    
        $.post(url, $(this).serialize(), function()
        {
            alert('done');
        });
    });
    

    阅读更多$.serialize

    【讨论】:

      【解决方案2】:
      $.post(
         url,                  // url to submit
         $(this).serialize(),  // make a standard-looking query string using all inputs value
         function(response) {        
           // success function
           // in parameter response is to capture data send from capture
        },
        'json'  // dataTyep in which format you're accepting 
                // data from server may be html, xml ans so on
      );
      

      相关参考文献:

      【讨论】:

        【解决方案3】:

        您正在阻止使用 event.preventDefault() 提交表单的默认行为,然后仅使用 ajax 将 usermail 值发送到服务器。

        据我了解,您需要对表单进行序列化,以便获取所有名称及其值,然后将其发送到服务器。为此,您需要 jQuery 中的 serialize 函数

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-08-31
          • 2017-12-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-08-02
          • 2017-07-26
          • 1970-01-01
          相关资源
          最近更新 更多