捕获表单字段值以使用BUTTON传递到AJAX(不提交)

时间:2012-03-14 00:46:22

标签: jquery ajax

我有一个输入的简单表单。该页面位于: Actual Page

我希望能够从字段中获取输入,捕获它,运行ajax以获取数据,触发div显示在下面,并显示数据而无需任何页面刷新或重置。如果我定义var值,则此代码有效:

var query = '12';
$("#buttonToClick").click(function () {
    $("#divToShow").show();
    $.post('ajax/part_detail_by_partno.php', { part: query }, function(data) {
                $("#divToShow").html(data);
    });
});

我在该字段上使用自动完成功能,但即使已禁用,以下操作也无效:

var query = $("#fieldWithData").val();
    $("#buttonToClick").click(function () {
        $("#divToShow").show();
        $.post('ajax/part_detail_by_partno.php', { part: query }, function(data) {
                    $("#divToShow").html(data);
        });
    });

我假设是因为我不能在没有实际提交表单的情况下捕获数据。所以我将“按钮”更改为“提交”,没有表单操作(没有页面重新加载)。但是#divToShow由于页面重新加载而无法打开。看一下我页面上的“快速查找”框。如何从用户获取输入以触发div以显示由用户输入生成的ajax / part_detail_by_partno.php返回的数据?我花了好几个小时试图解决这个问题。我是jQuery和AJAX的新手,我感谢你的帮助!

1 个答案:

答案 0 :(得分:3)

您在点击操作之外捕获“查询”的值。将其移到函数内部。

像这样:

$("#buttonToClick").click(function () {
    var query = $("#fieldWithData").val();
    $("#divToShow").show();
    $.post('ajax/part_detail_by_partno.php', { part: query }, function(data) {
                $("#divToShow").html(data);
    });
});