元素丢弃时$ .post不起作用

时间:2012-03-08 12:22:26

标签: php jquery

我正在教自己jQuery和PHP,我遇到了一些问题。我需要将元素id发布到我的php脚本,一旦放在我的droppable div上。当我将元素拖放到可放置的div上时,以下代码不会发布。我尝试过以下方法:

  • 除了警报框之外,我已经删除了所有内容以检查项目是否已被丢弃,因此该项目被视为可放置!
  • 我已手动将一些内容输入div中以确保可以看到结果
  • 我已将名称替换为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";
    }
?>

1 个答案:

答案 0 :(得分:0)

Droppable小部件的API documentation表示ui参数是一个jQuery对象,所以你应该尝试这样的事情:

$('#drop').droppable({ 
    hoverClass: 'drophover',
    accept: '#carousel-ul li',
    drop: function(event, ui) {
        var name = $(ui.helper).attr('id');
        var content = $(ui.helper).html();
        $.post('javascript.php', { name: name, content: content }, function(data) {
            $('#drop-content').html(data);
        });
    }
});