1
我自教jQuery和PHP,我遇到一些问题。我需要将元素ID发布到我的PHP脚本中,一旦投放到我的droppable div上。当我拖放一个元素到可放置的div上时,下面的代码不会发布。我已经尝试以下:
- 我已经删除了一切,除了一个警告框,以检查一个项目已被删除它所做的,所以该项目被视为可丢弃!
- 我已经手动输入了一些内容到div中以确保可以看到结果
- 我已经将name替换为var name =“test”,以测试变量内容。
javascript文件和php脚本驻留在同一个目录下,文件名是正确的。 JavaScript的拖放脚本可投放区域
<script type="text/javascript" src="js/drag-drop.js"></script>
我已经取代PHP脚本以纯文本的结果,看看问题是否是收到的变量之后包括,没有返回。所以这篇文章似乎没有进入php脚本。希望有人能提供一些指针!
下面是我的代码,HTML只是一个div。
$(document).ready(function() {
$('#carousel-ul li').draggable({
helper: 'clone',
revert: true
});
$('#drop').droppable({
hoverClass: 'drophover',
accept: '#carousel-ul li',
drop: function(){
//alert("has been accepted and dropped");
var name = ui.helper.attr('id').val();
$.post('javascript.php', { name: name }, function(data){
$('#drop-content').html(data);
});
}
});
});
<?php
//echo "id was posted";
if(isset($_POST['name'])){
$name = $_POST['name'];
var_dump($name);
echo name;
//echo "id was posted inside";
}
?>
'回声名;'应该是'回声$名称;' - 或者只是一个错字? – 2012-03-08 12:29:00
我猜这个警报实际上在取消注释时正在工作吗?在这种情况下,您的放置事件功能没有任何问题。你有没有检查邮件是否实际发送? (使用Chrome浏览器的Chrome开发人员工具; ctrl + shift + i,结帐“网络”选项卡)。它说什么? – giorgio 2012-03-08 12:29:31
您正在'.attr('id')'后面调用'.val()'。你不应该那样做。 '.val()'是'.attr('value')'的一个简便方法,但是你在一个字符串(id)而不是一个元素上调用它,'.attr('id')'是所有你需要做的,以获得元素的ID。编辑:另外,你应该改变'drop:function()'到'drop:function(event,ui)',就像现在你调用一个未定义的变量(ui)。 – 2012-03-08 12:31:04