3 / 3 / 1
Регистрация: 22.10.2013
Сообщений: 185

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

28.05.2017, 20:22. Показов 1796. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru