PHP HTML输入将多个参数传递给jQuery AJAX调用

时间:2014-10-21 23:06:35

标签: javascript php jquery ajax

我正在处理我的第一个使用jQuery执行AJAX HTTP POST的HTML表单。当用户对输入文本字段和选项卡进行更改时,我希望它触发AJAX调用并传递输入字段的值以及来自另一个PHP变量的值。

以下是有问题的输入:

<td><input type="text" class="form-control" id="storeManager" name="storeManager" value="Peter McMahon"></td>

我有一个PHP变量 - $ uuid - 我还需要传递给我的AJAX脚本,以及输入文本字段的值。

这是我目前的剧本:

<script type="text/javascript">
$(document).ready(function() {
    $("#storeManager").change(function(){
        $.ajax({
        url: "editProject.php",
        data: {
            storeManager: storeManager, 
            uuid: uuid
            },
        success: function(data) {
            $("#storeManager").html(data).addClass("has-success");
        },
        error: function (data) {
            $("#storeManager").html(data).addClass("has-error");
        }
        }); 
    });
});

</script>

我是jQuery和AJAX的新手,并尝试过我能想到的一切,但不确定如何添加所需的参数?

2 个答案:

答案 0 :(得分:1)

希望我明白你的目标。

我假设你提供的标记存在于PHP正在处理的文件中,并且$ uuid存在于上下文中。

<?php
    $uuid = '22dcf5f0-cbca-4dd7-8b5e-f9ca68a301ff';
?>

<td><input type="text" class="form-control" id="storeManager" name="storeManager" value="Peter McMahon"></td>

<script type="text/javascript">
$(document).ready(function() {
    $("#storeManager").change(function(){
        var storeManager = $("#storeManager").val();
        $.post('editProject.php', { storeManager: storeManager, uuid: '<?=$uuid?>' }, function(data) {
            // cannot set $("#storeManager").html() - do something else with data.
            // if you alter the #storeManager html input in any way, you will need to rebind this eventListener.
            $("#storeManager").addClass("has-success");
        }).fail(function () {
            // no data available in this context
            $("#storeManager").addClass("has-error");
        });
     }); 
});

</script>

答案 1 :(得分:-1)

你需要像这样得到html输入的值,你也可以将$ uuid值放在输入字段中(如果需要可以隐藏它),这样你就可以用同样的方式调用它:

....
data:{
    storeManager:$(#storeManager).val();
    uuid: $(#uuid).val();
}
....

希望它有所帮助!