我有一個頁面,可以使用jQuery UI可拖動的方式移動段落標記。無論何時移動段落標記,該標記的內聯樣式都會如此更改:使用php,如何保存段落標籤的屬性值?
position: relative; left: 280px; top: 300px;
我有一個直接位於其下的窗體。當我提交表單時,我想讓php保存這兩個屬性值(頂部&左側)。
如何保存段落標記的多個屬性值?
我發現THIS的答案,但我不明白$ attrs數組的來源或內容。也許這就是我錯過的東西?
我有一個頁面,可以使用jQuery UI可拖動的方式移動段落標記。無論何時移動段落標記,該標記的內聯樣式都會如此更改:使用php,如何保存段落標籤的屬性值?
position: relative; left: 280px; top: 300px;
我有一個直接位於其下的窗體。當我提交表單時,我想讓php保存這兩個屬性值(頂部&左側)。
如何保存段落標記的多個屬性值?
我發現THIS的答案,但我不明白$ attrs數組的來源或內容。也許這就是我錯過的東西?
一種方法是使用jQuery事件處理函數submit(),以便在表單發送之前,讀取段落的位置並將其存儲在隱藏的表單域中。
另一種方式是每當用戶更改段落位置時更新一些隱藏的表單域。
(編輯:你參考答案是關於處理上服務器端的HTML DOM,而這個問題是真的對客戶側這比PHP的一個Javascript腳本的問題)
我爲應用程序使用了一個隱藏標籤,它保存了幾個DOM元素的位置。只要記住在你的PHP腳本中收到它們的時候檢查它們的值。 ('#element').css('top')和.css('left')會給你他們的價值。 編輯: 或者您可以使用位置來獲得它們的值或者通過.POSITION()或.offset()
position = $('#element').position();
// or
position = $('#element').offset();
// position.left and position.top
你不能從PHP這樣做直接。除非瀏覽器將該信息發送到腳本,否則PHP不會知道瀏覽器中發生的任何事情。
您需要手動發送top
和left
值。最好的辦法是監聽提交事件:
$('#myForm').submit(function(e) {
e.preventDefault();
var position = $('#yourP').position();
$('<input/>', {type: 'hidden', name: 'left', value: position.left}).appendTo(this);
$('<input/>', {type: 'hidden', name: 'top', value: position.top}).appendTo(this);
this.submit(); // submit the form with the extra values
});
你可以接着用$_POST['top']
和$_POST['left']
訪問這些值在你的PHP腳本(或GET等價物,如果你的表單使用GET
)。
我會建議使用Paul Dixon的答案,但只是爲了說清楚,$ attrs來自$ a = $ dom-> getElementsByTagName(「a」);你可以在你附加的問題中找到它。 http://php.net/manual/en/domdocument.getelementsbytagname.php – 2011-06-06 08:12:09