onclick用ajax抓取post值

时间:2012-06-23 00:53:04

标签: ajax post onclick

我设置了一些行,当点击打开时,它会进行数据库更新,将状态设置为打开票证。

但由于某种原因,我不能拿它的主$ id?我需要它用它做一些其他的事情,而不想在下一页上做第二次查询或加入只是为了得到主id。

我在查询中有这个(我排除了所有的连接代码等等):

<?php start query { ?>

<a href="javascript:void(0)" id="<?php echo $cid;?>" onclick="open(id)">Open</a>

<input type="hidden" id="REF<?php echo $cid;?>" value="<?php echo $id;?>">

<?php } // end query ?>

我在我的ajax中有这个:

function open(id) {
var txt = $.ajax({
url: 'actions/open.php',
async: true,
type:'POST',
data:({
cid: id,
lid: $('#REF'+id).val()
}) 
}).success;
alert( cid,id );
setTimeout(function(){window.location.href='view.php?mode=Preview&cid='+id+'&id='+lid;},200);
}

我的问题是它一直告诉我在firebug中id是null

如果我改变它只是抓住cid并做一个测试它工作正常吗?

我试过 document.getElementById 但是出于某种奇怪的原因,什么都没有用?

我的代码有什么问题?我错过了什么吗?

提前致谢:) 强尼

1 个答案:

答案 0 :(得分:0)

你的意思是让这一行调用open,并传递插值变量值吗?

<a href="javascript:void(0)" id="<?php echo $cid;?>" onclick="open(id)">Open</a>    

会变成

<a href="javascript:void(0)" id="<?php echo $cid;?>" onclick="open(<?php echo $id;?>)">Open</a>

此外,在您的AJAX调用中,您似乎正在使用lid键将对象分配给值$('#REF'+id).val()。但是,您隐藏的输入标记的ID为REF<?php echo $cid;?>。将$CID的值传递给open(),或者使输入字段的ID为REF<?php echo $id;?>

其他说明:看起来你正在使用jQuery来构建你的AJAX调用。您指定的是async: true,这是默认选项值。您可以从代码中省略此内容以提高可读性。查看默认值:http://api.jquery.com/jQuery.ajax/