我有一个页面,我可以在其中使用jQuery UI draggable移动段落标签。每当我移动段落标签时,该标签的内联样式都会按如下方式更改:
position: relative; left: 280px; top: 300px;我在它的正下方有一个表格。当我提交表单时,我希望php保存这两个属性值(顶部和左侧)。
如何保存段落标签的多个属性值?
我找到了THIS的答案,但是我不明白$attrs数组是从哪里来的,也不知道它里面有什么。也许这就是我错过的?
发布于 2011-06-06 16:07:55
一种方法是使用submit() jQuery事件处理程序,以便在发送表单之前读取段落的位置并将其存储在隐藏的表单字段中。
另一种方法是在用户更改段落位置时更新一些隐藏的表单域。
(编辑:您参考的答案是关于在服务器端处理HTML DOM的,而这个问题实际上是关于客户端的。这更像是一个Javascript问题,而不是PHP问题)
发布于 2011-06-06 16:10:12
我对一个应用程序使用了一个隐藏标记,它保存了几个DOM元素的位置。只需记住在PHP脚本中接收到它们时要检查它们的值。
$('#element').css('top')和.css('left')将给出它们的值。编辑:或者,您可以使用position通过.position()或.offset()获取它们的值。
position = $('#element').position();
// or
position = $('#element').offset();
// position.left and position.top发布于 2011-06-06 16:12:21
您不能直接从PHP执行此操作。PHP不知道浏览器中发生的任何事情,除非浏览器将这些信息发送到脚本。
您需要手动发送top和left值。最好的方法是侦听submit事件:
$('#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
});然后,您可以在PHP脚本中使用$_POST['top']和$_POST['left'] (如果您的表单使用GET,则使用GET等效项)访问这些值。
https://stackoverflow.com/questions/6249223
复制相似问题