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