我正在处理我的第一个使用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的新手,并尝试过我能想到的一切,但不确定如何添加所需的参数?
答案 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();
}
....
希望它有所帮助!