问题与jquery .post()不起作用

时间:2011-05-17 15:48:49

标签: php jquery .post

所以我是新手使用jquery .post()但是我没有使用我以前没用过的方法。

我想在点击按钮时发布两个隐藏的输入值:

$('#button').live('click', function() {
    $.post('export_file.php', { group: form.group.value , test: form.test.value },
    function(output)    {
        $('#return').html(output).show();
    });
});

我已经测试过按钮事件已成功触发,目前我在export_file.php尝试做的事情都是回声。

这是我的表格:

<form name="form">
<input type="hidden" name="group" value="<?echo $group;?>">
<input type="hidden" name="test" value="<?echo $test_id;?>">
<input type="button" class="Mybutton" id="button" name="btnSubmit" value="Export Results">
</form>

我在原始页面上有我的div:

<div id='return'></div>

export_file.php:

<?php

echo "whatever, something!";

?>

有没有人能指出我哪里出错了。非常感谢,

4 个答案:

答案 0 :(得分:4)

尝试:

$('#button').live('click', function() {
    $.post('export_file.php', { group: $("input[name='group']").val() , test: $("input[name='test']").val() },
    function(output)    {
        $('#return').html(output).show();
    });
});

答案 1 :(得分:3)

修正此行:

$.post('export_file.php', { group: form.group.value , test: form.test.value },

将其更改为:

var group_val = $('input[name="group"]', 'form[name="form"]').get(0).value;
var test_val = $('input[name="test"]', 'form[name="form"]').get(0).value;
$.post('export_file.php', { group: group_val , test: test_val },

小提琴:http://jsfiddle.net/maniator/cQ2vZ/

答案 2 :(得分:1)

我已在您的HTML中为您的表单元素添加了ids:

<form name="form">
    <input type="hidden" name="group" id="group" value="<?echo $group;?>">
    <input type="hidden" name="test" id="test" value="<?echo $test_id;?>">
    <input type="button" class="Mybutton" id="button" name="btnSubmit" value="Export Results">
</form>

然后修改jQuery以通过ID从这些字段中获取值,并在AJAX调用的参数中使用它们:

$('#button').live('click', function() {
    var groupValue = $("#group").val();
    var testValue = $("#test").val();

    $.post('export_file.php', { group: groupValue , test: testValue },
    function(output)    {
        $('#return').html(output).show();
    });
});

答案 3 :(得分:0)

尝试这个

$('#button').live('click', function() {
    var group_val = $("input[name='group']").val(); // gets the value of hidden field with the name group
    var test_val = $("input[name='test']").val(); // gets the value of hidden field with the name test and store it in test_val variable
    $.post('export_file.php', { group: group_val  , test: test_val  },
    function(output)    {
        $('#return').html(output).show();
    });
});