PHP / JavaScript Как объединить 2 страницы в одну - PullRequest
1 голос
/ 11 ноября 2009

Мне нужна ссылка на то, как сделать две страницы одной.

Первоначально у меня есть 2 страницы php. View.php и comment.php

В view.php будет ссылка для вызова comment.php. Если щелкнуть ссылку «комментарий», она откроет комментарий, как всплывающее окно. После того, как заполните комментарий и нажмите кнопку отправить, он закроется и вернет view.php.

Проблема в том, что вместо всплывающего окна я хочу, чтобы он скрывался, пока я не нажму на него. Я не знаю, как точно назвать этот процесс. Я знаю, что это как-то связано с javascript, с использованием id, функции onclick и аналогично функции frame. Потому что я не знаю, как это называется, мне трудно исследовать. Так что кто-нибудь, пожалуйста, скажите мне, как это называется или дай мне какие-либо ссылки или пример решения о том, как это сделать.

Большое спасибо

ОБНОВЛЕНИЕ:

дорогие все ..

нашел этот код в интернете. Как сказал RageZ .. он использует css и javascript, чтобы показать и скрыть img. как использовать для других?

нужно ли мне преобразовать мой comment.php в функцию и поместить в view.php n, используя идентификатор этой функции. это возможно?

<html>
<head>
<script>
function changeme(id, action) {
       if (action=="hide") {
            document.getElementById(id).style.display = "none";
       } else {
            document.getElementById(id).style.display = "block";
       }
}
</script>

</head>
<body>
<img id="myIMG" style="display: none;" src="question.php.html"width="100" height="100" />
<span onclick="changeme('myIMG', 'show');" style="color: blue; text-decoration: underline; cursor: pointer;">Show the image</span>
<span onclick="changeme('myIMG', 'hide');" style="color: blue; text-decoration: underline; cursor: pointer;">Hide the image</span>
</body>
</html>

Ответы [ 3 ]

2 голосов
/ 11 ноября 2009

Я думаю, что вы ищете что-то вроде Greybox ?

Он открывает новый пэг поверх страницы, вместо того, чтобы открывать всплывающее окно, вам лучше всего ознакомиться с примерами, они будут намного понятнее, чем все, что я могу здесь сказать.

1 голос
/ 11 ноября 2009

Вы можете выполнить описанный процесс, например, с помощью следующего:

view.php

<script language="JavaScript">

function openComment(id) // Open comment.php in a new window and send the id of the thing you want to comment
{
    window.open('comment.php?id='+id, '_blank');
}

</script>

<a href="#" onClick="openComment(1)">Comment</a>

Comment.php

<?php
    if ( isset($_POST['msg']) && intval($_POST['id']) > 0 ) // If a comment is sent and the id is a number > 0
    {
        /* Write your message to db */
?>
<!-- Reload the underlying window and close the popup -->
<script language="JavaScript">
window.parent.reload();
window.close();
</script>
<?php
    }
    else // Show the Form to post a comment
    {
?>
<form name="comment" action="comment.php" method="POST">
<input type="hidden" name="id" value="<?php echo $_GET['id'] ?>" />
<input type="text" name="msg" value="Input your comment here" />
<input type="submit" value="Submit" />
</form>
<?php } ?>
0 голосов
/ 11 ноября 2009

вы можете использовать Ajax / DHTML, чтобы создать всплывающее окно и отправить данные на сервер на той же странице.

Я думаю, вам понадобится фреймворк, чтобы сделать это быстро, вокруг много фреймворков javascript:

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