2013-03-04 23 views
0

内瓦尔我有一些代码来记录某个动作PHP的JavaScript的

$('#record').click(function(){ 
$.get("../confirm.php", { "id": '<?php echo $record; ?>' }, function(data){}); 
}); 

,工作正常,但我不希望页面充满了JavaScript和如我还有其他事情一样这也是它,所以我想把它移动到一个js文件。

在PHP文件

<script type="text/javascript">var record = "<?= $record ?>";</script> 
<script type="text/javascript" src="jsfile.js"></script> 

在js文件

$('#record').click(function(){ 
$.get("../confirm.php", { id: record}, function(data){}); 
}); 

但它并不想打球,任何想法如何做到这一点?

+0

请勿使用'<?='语法输出代码。这是我能看到的唯一区别...我会说这也是你的代码的问题。检查浏览器的JS控制台是否有任何错误。 – 2013-03-04 12:59:51

+0

你不能把它包装所有的功能和使用上的实际按钮的onclick事件,所以你可以在通过的onclick – Dave 2013-03-04 13:00:08

+1

什么浏览器源获取输出'变种record'传递变量? – charlietfl 2013-03-04 13:02:26

回答

0

如果可以的话建议给你。在元素的视图中设置ID。然后当点击该动作时,获取数据的ID。

例子:

<input type="text" name="inputName" id="<?php echo $record; ?>" class="btnToRecord" /> 

$('.btnToRecord').click(function(){ 
    var clickedElement = $(this); 
    $.get("../confirm.php", { id: clickedElement.attr("id") }, function(data){}); 
}); 

编辑:更正为$(这)是指向获取而不是元件,投入无功会解决这个问题

+0

我试过这个,但它仍然不会插入来自confirm.php – 2013-03-04 13:08:34

+0

我不得不把$(this)放入一个var,它的工作,谢谢 – 2013-03-04 13:14:06

1

使“记录”作为类的div并分配php变量$ record作为它的id。使用event.target.id从div获取变量$ record。

<div class="record" id="<?php echo $record;?>"> 
Your code here 
</div> 

,并使用此 $点击(函数(事件){VAR 纪录= event.target.id; //你的代码在这里 })( '记录')。