Используя php, как я могу сохранить значение атрибута тега абзаца? - PullRequest
2 голосов
/ 06 июня 2011

У меня есть страница, где я могу переместить тег абзаца с помощью перетаскиваемого пользовательского интерфейса jQuery.Всякий раз, когда я перемещаю тег абзаца, стиль для этого тега изменяется следующим образом:

position: relative; left: 280px; top: 300px;

У меня есть форма под ним.Когда я отправляю форму, я хочу, чтобы php сохранил эти два значения атрибута (вверху и слева).

Как сохранить несколько значений атрибута тега абзаца?

Я нашел ЭТОТ ответ, но я не понимаю, откуда берется массив $ attrs или что в нем.Может быть, это то, что мне не хватает?

Ответы [ 3 ]

2 голосов
/ 06 июня 2011

Один из способов - использовать обработчик событий submit () jQuery, чтобы непосредственно перед отправкой формы вы читали положение абзаца и сохраняли его в скрытом поле формы.

Другим способом было бы обновить некоторые скрытые поля формы всякий раз, когда пользователь изменяет позицию абзаца.

(Редактировать: вы ссылаетесь на работу с HTML DOM на сервере side, тогда как этот вопрос действительно касается стороны client . Это скорее вопрос Javascript, чем вопрос PHP)

1 голос
/ 06 июня 2011

Я использую скрытый тег для приложения, которое сохраняет положение нескольких элементов DOM.Просто не забудьте проверить их значения, когда вы получите их в своем PHP-скрипте.

$ ('# element'). Css ('top') и .css ('left') даст вам их значения.Редактировать: В качестве альтернативы вы можете использовать position, чтобы получить их значения через .position () или .offset ()

position = $('#element').position();
// or
position = $('#element').offset();
// position.left and position.top

Какой из них выбрать , зависит от того, как позиционирован элемент.

0 голосов
/ 06 июня 2011

Вы не можете сделать это напрямую из 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'] (или GET-эквивалентов, если ваша форма использует GET) в вашем PHP-скрипте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...