使用jquery获取多个输入

时间:2014-02-01 17:26:56

标签: jquery ajax

所以我正在尝试创建一个jquery调用(仍在学习),以便在它们更改时拉出我在页面上的所有输入,并将它们发送到我的php文件进行解析,我想用它来更新我的数据库而不用一个提交按钮,一遍又一遍地重新加载页面,下面是我目前所拥有的

    <script>
var data = {};
    $(document).change(function() {
        var $name = $('.test').attr('name');
        var value = $('.test').attr('value');
        data[$name]=value;

        $.ajax({
            type: "POST",
            url: "some.php",
            data: data,
            success: function(response){
                $("#legend").html(response);
            }
        });
    });
</script>
<div id="legend"></div>
<form>
<input type="text" name="hp" class="test">
<input type="text" name="mana" class="test" />
</form>

所以我上面要做的就是使用我为我的所有项目设置的变量,这样我就不必创建处理每个输入字段的东西,我知道我可以在最后提交,我只是尝试在人更新文本时这样做,感谢您的时间

这是一个演示(因为php调用在这里工作): http://aardwolfbootcamp.com/lizza/hadtest.php

3 个答案:

答案 0 :(得分:0)

我认为这就是你要找的东西:

data = $('form').serialize();

答案 1 :(得分:0)

您可以使用jQuery serialize()方法,它会将一组表单元素编码为字符串以供提交。

$.ajax({
    type: "POST",
    url: "some.php",
    data: $('form').serialize(),
    success: function(response){
        $("#legend").html(response);
    }
});

或者您可以使用

$.ajax({
    type: "POST",
    url: "some.php",
    data: $('.test').serialize(),
    success: function(response){
        $("#legend").html(response);
    }
});

Documentation : http://api.jquery.com/serialize/

答案 2 :(得分:0)

您可以像处理一样对表单或文档的更改事件执行操作。

示例:

$("form").on("change", function(){

    console.log($("form").eq(0).serialize());

    $.ajax({
        url : "url.php",
        data : $("form").eq(0).serialize(),
        type : "POST",
        success : function(data){
            // your stuffs here
        }
    });
});

Working Demo