|
|
|
| Наверное спрашиваю глупость... но все-таки...
Можно ли из php вызвать функцию, написанную на JavaScript | |
|
|
|
|
|
|
|
для: Андрей
(21.11.2004 в 21:50)
| | Нет нельзя.
При создании сайтов PHP и JavaScript используются очень тесно. Но при этом они знать не знают про существование друг друга.
PHP выполняется на сервера, а JavaScript на клиенте. После того как PHP отработал - на выходе только HTML код и страница уходит в браузер.
Т.е. во время выполнения PHP нет JavaScript. А когда появляется JavaScript уже нет PHP. Таким образом одно из другого вызвать нельзя.
Но можно организовывать их взаимодействие через HTML-код и через обращения к серверу.
Какая у Вас задача? | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(21.11.2004 в 22:14)
| | Почему можно:
<html>
<head>
<title>Мой доукумент</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<SCRIPT LANGUAGE="JavaScript" SRC="func.js"></SCRIPT>
</head>
<?
echo "<script>myfunction();</script>";
?>
</html>
|
Файл func.js
function myfunction()
{
alert("Hello, word!");
}
|
| |
|
|
|
|
|
|
|
для: 101km
(22.11.2004 в 12:07)
| | Хм.. и так и не так.
PHP не может вызвать функцию JavaScript. Но он может сформировать HTML-код, к котором будет вызов JavaScript-a.
Т.е. вопрос тогда должен звучать так: как вызвать функцию JavaScript… Это вопрос без привязки к PHP. Потому что PHP знать не знает о JavaScript. Он делает черную работу – формирует HTML-код, который приходит в браузер. А уж в этом коде может быть все что угодно… и JavaScript в том числе. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(22.11.2004 в 21:30)
| | Мне как раз нужно вывести MessageBox в случае, если телефон/факс заполнен не по форме.
alert("Пожалуйста, заполняйте поля телефон/факс, следуя следующим правилам:\n\nмеждународный код страны (+7 для России)\nпробел\nкод города" ); | |
|
|
|
|
|
|
|
для: Андрей
(22.11.2004 в 22:44)
| | Схема работы такая?
1. Есть форма.
2. Из нее данные посылаются на скрипт-обработчик (страница php).
3. Скрипт проверяет заполнение формы и если есть ошибки, то... допустим, заново отображает форму и выдает MessageBox.
В скрипте-обработчике формируете код.
<?
// Если поля заполнены не правильно, то формируем сообщение JavaScript-ом
if (здесь условие на ошибку)
{
?>
<script language="JavaScript">
<!--
alert("Ошибка");
// -->
</script>
<?
}
?>
|
| |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(23.11.2004 в 00:53)
| | мне кажется, быстрее будет не отправлять данные на сервер, а проверять всю форму в браузере, Java-script'ом.
а уже проверенную заполненную форму отправлять на сервер. | |
|
|
|
|
|
|
|
для: elenaki
(23.11.2004 в 08:51)
| | На JScript получится типа этого:
<HTML>
<HEAD>
<TITLE></TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</HEAD>
<SCRIPT LANGUAGE="JScript">
function Ver()
{ if ("" == document.all.user.value) {alert ("Надо бы заполнить поле юзер."); return false;}
if ("" == document.all.pass.value) {alert ("Надо бы заполнить поле пароль."); return false;}
return true;
}
</SCRIPT>
<BODY>
<CENTER>
<form id=addform action=conf.php method=post onSubmit= "return Ver();">
<INPUT type=text maxlength=15 name=user>
<br>
<INPUT type=password maxlength=15 name=pass>
<input type="submit" value="Ok!">
</form>
</CENTER>
</BODY>
</HTML>
|
| |
|
|
|
|
|
|
|
для: elenaki
(23.11.2004 в 08:51)
| | Вообще то да. | |
|
|
|