Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
3 / 3 / 1
Регистрация: 22.10.2013
Сообщений: 185

Вызов JS функции из PHP

28.05.2017, 20:22. Показов 1739. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такая функция в js для рендома высоты объекта

JavaScript
1
2
3
4
5
function pos_rot(min, max) {
    var $pos_rot;
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
$pos_rot = pos_rot(20, 45);
При обновлении страницы рендом постоянно происходит, всё работает

Как в php вызвать эту функцию через кнопку?

В начале php инклюжу js.

PHP
1
2
<INPUT TYPE="button" VALUE="Ещё" NAME="next"
   onClick="pos_rot(this)">
Кнопка появляется, при нажатии не ругается, но ни чего не происходит. Мозги так вспухли, что похоже очевидного не вижу

Или это мне к аяксу идти надо?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.05.2017, 20:22
Ответы с готовыми решениями:

Вызов JavaScript функции внутри php
Всем привет. Есть необходимость вызвать ява функцию внутри пхп. Собственно вот таким кодом я вызываю это дело: if(strstr($_GET,...

Вызов php функции
Здравствуйте! Мне нужно вызвать php-функцию и результат поместить в блок. Функция вызывается, но не передается index.php &lt;div...

Вызов функции PHP из JS
Друзья, подскажите начинающему: Есть функция в PHP: function AddEntry() { session_start(); ...

10
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
28.05.2017, 20:31
Во-первых, PHP здесь вообще не причем.

Здесь HTML JS.
А теперь посмотрим на функцию: pos_rot(min, max)
Туда надо передать два параметра,
два числа (минимальное и максимальное значение).
Теперь смотрим на это:
onClick="pos_rot(this)"
Ничего не заметили?
Передайте вместо одного параметра this два числа.
onClick="pos_rot(2, 6)"
например.
0
3 / 3 / 1
Регистрация: 22.10.2013
Сообщений: 185
28.05.2017, 20:45  [ТС]
alexsamos33,
Цитата Сообщение от alexsamos33 Посмотреть сообщение
onClick="pos_rot(2, 6)"
Писал и (min,max) и (2,6). Вообще ни какой реакции. "This" написал тут по привычке
0
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
28.05.2017, 20:47
Скрипт и кнопка на одной странице?

Консоль браузера лучше бы посмотрели, какие выдает ошибки. F12
0
3 / 3 / 1
Регистрация: 22.10.2013
Сообщений: 185
28.05.2017, 20:49  [ТС]
alexsamos33, конечно смотрел. Написал с самого начала, что ни на что не ругается. Так просто кнопка в пустую нажимается и всё. Функцию и инклюдил и на одну страницу вставлял - одна фигня
0
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
28.05.2017, 20:54
А если переменную var $pos_rot;
вынести за пределы функции?
1
3 / 3 / 1
Регистрация: 22.10.2013
Сообщений: 185
28.05.2017, 21:04  [ТС]
alexsamos33,
JavaScript
1
2
3
4
5
function pos_rot(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
var $pos_rot;
$pos_rot = pos_rot(20, 45);
PHP
1
<input type='button' value='Нажми на меня' onclick='pos_rot(20,40)' />
Безрезультатно
0
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
28.05.2017, 21:11
Так а что Вы хотите получить? Эта функция же ничего не меняет и не выводит.
Или Вы хотите через JS сделать число и передать в PHP? Тогда каким образом это работает при загрузке? В PHp можно такую же свою функцию сделать. А напрямую переменные передавать не получится.

Опишите лучше полностью (от начала до конца) всю задаччу.

Добавлено через 54 секунды
Если через alert хотя бы вывести, то да, выйдет (покажется) значение этой функции. А так не происходит ничего, правильно.
1
3 / 3 / 1
Регистрация: 22.10.2013
Сообщений: 185
28.05.2017, 21:17  [ТС]
Хорошо, по порядку.

qwer.js

JavaScript
1
2
3
4
5
function pos_rot(min, max) {
    var $pos_rot;
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
$pos_rot = pos_rot(20, 45)
qwer.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<body>
<script src="qwer1.js"></script>
<input type='button' value='Нажми на меня' onclick='pos_rot(20,40)' />
 
<script>
window.onload=function()
{
var rot=document.createElement('div');
rot.style.marginLeft=$pos_rot+'px';
}
 
</script>
</body>
Вот в крадце и всё. Ну не считая ещё десяток генерируемых переменных вставленных в десяток других дивов. Но схема такая.
При обновлении страници всё генерируется и дивы изменяются (кстати прикольные моськи получились)) эт хочу генерацию ав сделать)
Но вот как это всё вызвать по кнопке, что бы юзеру не надо было каждый раз f5 тыкать, что бы выбрать понравившуюся аву, а просто кнопочку "сгенерировать" нажимать
0
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
28.05.2017, 21:40
Ну так правильно же!!!
Загрузка страницы происходит же раньше, чем Вы нажимаете кнопку!!!
Может так попробовать?
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<body>
<script src="qwer1.js"></script>
<input type='button' value='Нажми на меня' onclick='ch_rot();' />
 
<script>
function ch_rot(){
var $pos_rot = pos_rot(20,40);
var rot=document.createElement('div');
rot.style.marginLeft=$pos_rot+'px';
}
window.onload=function()
{
ch_rot();
}
 
</script>
</body>
Добавлено через 3 минуты
Или нужно чтобы div один раз создался и уже для него применялись свойства?

Добавлено через 2 минуты
Если один div и его изменять, то так:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<body>
<script src="qwer1.js"></script>
<input type='button' value='Нажми на меня' onclick='ch_rot();' />
 
<script>
var rot;
function ch_rot(){
var $pos_rot = pos_rot(20,40);
rot.style.marginLeft=$pos_rot+'px';
}
window.onload=function()
{
rot=document.createElement('div');
ch_rot();
}
 
</script>
</body>
А в первом случае каждый раз будет создаваться новый элемент div .
1
3 / 3 / 1
Регистрация: 22.10.2013
Сообщений: 185
29.05.2017, 00:53  [ТС]
Так тоже ни чего не изменятся(

Добавлено через 41 секунду
Сейчас попробую

Добавлено через 1 минуту
alexsamos33, нет. Ни чего не изменяет

Добавлено через 1 минуту
alexsamos33, помоему мы уже потеряли привязку к функции рендома

Добавлено через 53 секунды
Цитата Сообщение от alexsamos33 Посмотреть сообщение
Или нужно чтобы div один раз создался и уже для него применялись свойства?
Да, он создан, а js рендомом только изменяется

Добавлено через 2 минуты
alexsamos33, Если есть время и желание, могу закинуть весь весь скрипт. Его нужно будет только скопировать и вставить в два файла. Может поковыряетесь и поймёте. За одном зацените генерируемые моськи))

Добавлено через 6 минут
alexsamos33, но функции вызвать по кнопке - пол беды)) я вот мозгу ломаю, как привязывать выбранную генерацию к юзеру)) Вот думаю может перерисовать в канвасе, да туда рендом запилить. Из канваса можно хоть вывести всё получившееся изображением. Ну или в БД заливать все эти рендомные занчения и запоминать их для юзера

Добавлено через 2 часа 58 минут
alexsamos33, разобрался, получилось. Спасибо, что старался помочь!!!
Только вот сейчас остро встал второй вопрос) но это уже другая тема))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.05.2017, 00:53
Помогаю со студенческими работами здесь

Вызов js функции в php функции что в js
В общем имеем такое извращение &lt;script&gt; ... document.write(&quot;&lt;?php echo Consultationscalendar::classTD($teacherId) ?&gt;&quot;); ...

Вызов php функции в Smarty
Всем доброго дня! Столкнулся с тем, что не знаю как вызвать php функцию с параметром в Smarty. Функцию без параметра я юзаю так: ...

Вызов javascript функции из php
Как вызвать функцию javascript из php? &lt;SCRIPT LANGUAGE=&quot;JavaScript&quot;&gt; function clear() { parent.document.form.text.value =...

Вызов функции jquery из php
Решил оптимизировать немного код, когда выводил не через php с помощью echo, а обычным html все работало. Подскажите пожалуйста как...

Вызов PHP-функции кнопкой
вызвать функцию кнопкой php? возможно ли? что то я уже столько вариантов перепробовал но никак не вызываеться и можно ли на php как то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru