Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Вызов JavaScript из PHP (https://javascript.ru/forum/events/14741-vyzov-javascript-iz-php.html)

Zeka13 28.01.2011 17:31

Вызов JavaScript из PHP
 
Приветствую всех на этом замечательном форуме,наверное тут такое часто пишут ,чтож и я напишу.
В JavaScript я новичок ,по-этому и пришёл сюда за помощью.
Пытался найти здесь мануал как вообще скрипт выполнить ,но не нашёл ,умею пока только его выполнить при клике,как тут вот
<head>
<title>New window</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<script>
function asd()
{
id=window.open("http://google.com","_top");
id.moveTo(0,0);
id.resizeTo(screen.availWidth,screen.availHeight);
}
</script>
<body>
<a href="#null" onClick="asd()">Google</a>
</body>

Собственно есть php у меня ,который выполняется после заполнения формы и я хочу ,чтобы как только мой php сделал все свои дела ,был вызван скриптик
function asd()
{
id=window.open("http://google.com","_top");
id.moveTo(0,0);
id.resizeTo(screen.availWidth,screen.availHeight);
}

Так у меня не получилось
<?php
тут мой php
?>
<script type="text/javascript">
ну и тут скрипт сразу ,что выше можно два раза наблюдать
</script>

Помогите пожалуйста ,буду очень признателен за любые полезные советы и ссылки ,как мне реализовать открытие нового окна вместо текущего,после form action="мой.php"

dmitriymar 28.01.2011 18:50

после выполнения действия и формирования страницы в ответ страницы в боди допиши
<?
echo <<<HERE
<script>
function asd()
{
id=window.open("http://google.com","_top");
id.moveTo(0,0);
id.resizeTo(screen.availWidth,screen.availHeight);
}
</script>
HERE;
?<
и будет он выполнен
или тож самое в хеад. а при формированиии body
echo("<body onload='asd()'>");

Zeka13 28.01.2011 22:32

Окей ,ладно ,сейчас я попробую вставить ваш скрипт сразу после формы и отпишусь ,если что-то не получится ,спасибо большое за ответ

Zeka13 29.01.2011 00:53

Код:

<?
echo <<<HERE
<script>
function asd()
{
id=window.open("http://google.com","_top");
id.moveTo(0,0);
id.resizeTo(screen.availWidth,screen.availHeight);
}
</script>
HERE;
?<

Тут явно ошибка синтаксиса + ничего не вышло
Простите ,но можно для новичка по-проще ,на примере моей страничке в самом начале ,буду очень признателен
что это и что оно делает я не понял
echo("<body onload='asd()'>");

Zeka13 29.01.2011 00:58

Да и ещё ,я не знаю что такое ,точнее не знаю что это всё в данном контексте означает ,так то я HTML знаю достаточно на уровне ,в java не силён просто

выполнения действия
формирования страницы
ответ страницы

Понял только слово боди

Вообще если кто-то решит помочь ,то пускай прочтёт мой первый пост ,мне всего-то надо сразу после выполнение form action на php файл выполнить мой скриптик java
Задача простая ,если можно ,то конкретный пример php файла или html странички будет лучшим вариантом.
И если можно ,то без явоскриптового жаргона ,я пока в нём не силён

Буду безумно благодарен !

dmitriymar 29.01.2011 01:55

Цитата:

Сообщение от Zeka13
Код:

<?
echo <<<HERE
<script>
function asd()
{
id=window.open("http://google.com","_top");
id.moveTo(0,0);
id.resizeTo(screen.availWidth,screen.availHeight);
}
</script>
HERE;
?<

Тут явно ошибка синтаксиса + ничего не вышло

Знаток рнр -мог бы сам заметить что стрелка в теге закрывающем рнр -не в ту сторону смотрит
?< а должна ?>
чего то мне кажется что рнр и hтмл ты знаешь также как и скрипт-в смысле никак

Zeka13 29.01.2011 01:59

Спасибо ,что хотите мне помочь ,постараюсь сделать так ,чтобы вы меня поняли
testform.html
<head>
<title>New window</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form action="auth.php" method="post">
<p>Ваше имя<br>
<input name="name" type="text" class="lnews_data" size="30">
</p>
<p>
<label>
<input type="submit" name="submit" id="submit" value="отправить">
</label>
</p>
</form>
<pre><? include ("test.txt")?></pre>
</body>

auth.php
Код:

<?php
$name = $_POST['name'];
$text .= "Имя: $name \n";
$file = fopen ("test.txt", "a+");
fwrite ($file,$text);
fclose ($file);
?>

И собственно скрипт ,который я бы хотел вызвать на выполнение прямо из auth.php ,чтобы как переменная записалась в текстовый файл на сервере пользователя кидало на другую страницу
function asd()
{
id=window.open("http://google.com","_top");
id.moveTo(0,0);
id.resizeTo(screen.availWidth,screen.availHeight);
}


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

Zeka13 29.01.2011 12:58

После 3 кефиров я нашёл ответ ,вот какой должен был быть мой php файл
<?php
$name = $_POST['name'];
$text .= "Имя: $name \n";
$file = fopen ("test.txt", "a+");
fwrite ($file,$text);
fclose ($file);
?>
<script type="text/javascript">
function asd()
{
id=window.open("http://google.com","_top");
id.moveTo(0,0);
id.resizeTo(screen.availWidth,screen.availHeight);
}
asd()
</script>


Часовой пояс GMT +3, время: 08:53.