2012-06-23 47 views
0

我已经设置了一些行,当打开时被点击它会做数据库更新来设置状态为打开票证。onclick用ajax抓取帖子的值

但由于某种原因,我不能把主$ id与它?我需要它做一些其他的事情,而不是做第二个查询或JOIN在下一页,只是为了获得主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); 
} 

我的问题是,它不断地说我在萤火虫id是空的

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

我试过document.getElementById但是由于一些奇怪的原因没有用?

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

感谢提前:) 强尼

回答

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(),或使输入域的REF<?php echo $id;?>

其他说明一个id:看起来你正在使用jQuery来构建AJAX调用。您正在指定一个async: true,这是默认选项值。你可以从你的代码中省略这个,以获得更好的可读性。检查出默认值:http://api.jquery.com/jQuery.ajax/

+0

嗨本,谢谢你的回答。我一直被其他东西阻止,我没有机会尝试你的建议。一旦我得到一个chnace来测试它,我会立即给你答案。再次感谢;) – jonnypixel

+0

您是否有机会再次测试这些更改? –