#javascript #php #jquery #variables
#javascript #php #jquery #переменные
Вопрос:
Я знаю, что это частый вопрос о переполнении стека, но я не смог найти сценарий, в котором PHP-код находится чуть выше JS-скрипта в том же файле. Я предполагаю, что ajax POST / GET не выполнит эту работу в этом случае?
(...)
var ww = $(window).width();
</script>
<?php $ww = [data here] ?>
Комментарии:
1. Какова цель вашего кода?
2. Я обвиняю Frontpage. Не каждый может создать веб-сайт, и не каждый должен.
3. @Rob W Мне нужно отобразить изображение шириной 100%, используя Timthumb, width: 100% не будет выполнять эту работу, потому что изображение должно быть обрезано.
4.Вы противоречите себе. Вам нужна ширина
100%
, а также «Обрезанное изображение»? Обрезать изображение можно только с помощью HTML / CSS: 1)<img src=".." width=100 height-100>
2)<span style="width:150px;height:150px"><img src=".." style="width:100%;height:100%" /></span>
.
Ответ №1:
Вам придется использовать POST / GET для отправки переменной JS в PHP, потому что PHP обрабатывается сервером, а JS обрабатывается клиентом.
Я знаю, это не то, что вы хотите услышать.
Ответ №2:
Это неправильный подход. Весь PHP анализируется / оценивается на стороне сервера. Позже браузер пользователя получает возможность анализировать / оценивать javascript. Даже если JS появляется перед PHP в вашем файле, PHP все равно оценивается на стороне сервера, прежде чем что-либо передается в браузер. Если вам нужно, чтобы значения на стороне клиента передавались обратно на сервер, вы используете AJAX для этого. Вы можете снова принимать решения на стороне сервера и в ответе запускать JavaScript для выполнения некоторых действий на основе принятого PHP решения, но вы не можете смешивать / сопоставлять действия клиента / сервера в одном файле, подобном этому.
Ответ №3:
Я не думаю, что есть какой-либо способ, потому что javascript запускается на вашем локальном компьютере ПОСЛЕ выполнения PHP и возвращает HTML / CSS / JS в ваш браузер.
Ответ №4:
Я бы использовал AJAX для передачи того, что мне нужно, на сервер для обработки, а затем на основе ответа, используя Javascript, внесите любые необходимые корректировки. Например:
***PHP File***
<?php
$ww = $_POST['data'];
$result = doSomethingWithVariable($ww);
echo $result;
***HTML File***
<script>
...
var ww = $(window).width();
$.ajax({
url: 'phpfile.php',
type: 'POST',
data: { data : ww },
success: function (result) {
doSomethingWithResult(result);
}
});
</script>
Ответ №5:
Недавно я передал значение переменной атрибуту элемента, который был динамически сгенерирован php. Затем используйте функцию get attr() jquery для получения значения. Сработало отлично!
Часть PHP:
foreach ((array)$photos['photos']['photo'] as $photo) {
$Maxcount ;
}
foreach ((array)$photos['photos']['photo'] as $photo) {
echo "<img imgID='$IDcount' Maxcount='$Maxcount'
jQuery:
var maxCount= $(".imageView").attr("maxCount");