Наложение jQuery Tools - загрузка формы, но не передача переменных $ _POST? - PullRequest
1 голос
/ 08 февраля 2011

Скажем, у меня есть info.php страница с информацией о пользователе (идентификатор, имя, возраст и т. Д.).

На этой странице есть кнопка «Изменить», которая переводит пользователя в форму на edit.php, чтобы он мог изменить свою информацию. Форма заполняется через $ _POST с идентификатором, именем, возрастом и т. Д.

edit.php имеет кнопку «обновить», которая отправляет обратно на info.php с обновленными данными. Это все отлично работает.

Но когда я пытаюсь загрузить edit.php во всплывающем окне jQuery Tools, появляется форма в edit.php, но переменные не передаются. Вместо этого все они отображаются как «неопределенные».

Я не уверен, где разместить требуемый элемент href, чтобы передать мои переменные в edit.php, когда он внутри оверлея.

Есть идеи?

    <form action="edit.php" method="post">
    <input type="hidden" name="edit" value="yes" />
    <input type="hidden" name="id" value="<?php echo $row[1] ?>" />
    <input type="hidden" name="name" value="<?php echo $row[2] ?>" />

<!-- this is the required href to trigger overlay -->
    <a href="edit.php" rel="#overlay" style="text-decoration:none">

         <input type="submit" value="Edit"/>

    </a>

    </form>

<div class="apple_overlay" id="overlay"> 

<!-- the external content is loaded inside this tag --> 
<div class="contentWrap"></div> 

</div> 

<!-- make all links with the 'rel' attribute open overlays --> 
<script> 

$(function() {

    // if the function argument is given to overlay,
    // it is assumed to be the onBeforeLoad event listener
    $("a[rel]").overlay({

        mask: 'darkred',
        effect: 'apple',

        onBeforeLoad: function() {

            // grab wrapper element inside content
            var wrap = this.getOverlay().find(".contentWrap");

            // load the page specified in the trigger
            wrap.load(this.getTrigger().attr("href"));
        }

    });
});
</script>

Ответы [ 2 ]

1 голос
/ 08 февраля 2011

Меня немного смущает вопрос, но, возможно, это то, что вы ищете ...

Вам нужно либо передать идентификатор в URL-адресе и посмотреть данные на стороне сервера, либо передать вседанные в URL вроде так

<a href="edit.php?id=<?php echo $row[1] ?>&name="<?php echo $row[2] ?>" rel="#overlay" style="text-decoration:none">
0 голосов
/ 08 февраля 2011

Другим способом является сохранение идентификатора имени и всего такого в $ _SESSION на php. Затем info.php сохранит его и отредактирует php, прочитав его.

...