Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Передать значение переменной (https://javascript.ru/forum/dom-window/61534-peredat-znachenie-peremennojj.html)

Salvat 22.02.2016 18:34

$(document).ready(function(){
        $(".knopka").click(function(){
            var cliked = this.id.split('-');
            var arr = cliked[1] || "photo/zaglushka.jpg";
            $('#photo + div img')[0].src = "photo/" + arr;
            var message = encodeURIComponent(arr);
window.location.href = 'photo.php?img='+message;
        });
    });

Таким образом отправляется GET запрос, потом я могу получить значение переменной message с помощью php. Мне необходимо передать значение переменной arr на другую страницу.

laimas 22.02.2016 18:51

Цитата:

Сообщение от Salvat
Ну и последний вопрос, как передать это значение, которое имеет src='arr' в переменную php не используя GET запрос

Никак, если сервер не получает GET/POST запроса, то а намерениях клиента он естественно знать не будет.

laimas 22.02.2016 18:53

Цитата:

Сообщение от Salvat
Таким образом отправляется GET запрос, потом я могу получить значение переменной message с помощью php.

В данном случае вы не получите значение переменной message, ибо переменой (параметром) на сервере будет img.

Цитата:

Сообщение от Salvat
Мне необходимо передать значение переменной arr на другую страницу.

Передавайте, в чем проблема?

Salvat 22.02.2016 19:07

Цитата:

Передавайте, в чем проблема?
Каким образом, подскажите, если не сложно.
Цитата:

В данном случае вы не получите значение переменной message, ибо переменой (параметром) на сервере будет img.
Значение параметра img с помощью GET я могу получить, только за счет перезагрузки страницы. А мне бы хотелось, чтобы данные arr передавались, допустим, методом GET/POST на другую страницу, не получая их с помощью GET на текущей странице. Есть еще форма, которая отправляет данные
<form action="crop.php" method="post">
    <input type="hidden" name="x1" value="" />
    <input type="hidden" name="y1" value="" />
    <input type="hidden" name="x2" value="" />
    <input type="hidden" name="y2" value="" />
    <input type="hidden" name="w" value="" />
    <input type="hidden" name="h" value="" />
  <input type='submit' value='Crop' />
</form>

Вот мне необходимо на crop.php отправить текущее значение переменной arr.

laimas 22.02.2016 19:25

Цитата:

Сообщение от Salvat
Значение параметра img с помощью GET я могу получить, только за счет перезагрузки страницы.

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

А то городите какую-то несуразицу - чтобы данные arr передавались, допустим, методом GET/POST на другую страницу, не получая их с помощью GET на текущей странице. А с какой страницы их надо передать?

Salvat 22.02.2016 19:32

Цитата:

Не обязательно, его можно передать и асинхронным запросом на любую не текущую страницу. Вопрос только в том для чего передать?
Для продожения работы с изображением, а именно, сохранением указанных пропорций.
Вы читайте внимательней, уважаемый. Я же пишу
Цитата:

не получая их с помощью GET на текущей странице.
Если я получу на текущей странице, то это будет с помощью метода GET
$arr = $_GET['img'];
вот таким образом с помощью php, что приведет к перезагрузке страницы. Мне же необходимо, со страницы, где получаю данные arr их передать на другую страницу вместе с формой. Так яснее?

laimas 22.02.2016 19:35

Цитата:

Сообщение от Salvat
Вы читайте внимательней, уважаемый.

И вам того же.

Передать на другую страницу форму, это:

action="url другой страницы"

это разве не на другую страницу? А чтобы при этом остаться на текущей странице не прибегая к средствам сервера, это Ajax.

Salvat 22.02.2016 19:44

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

laimas 22.02.2016 19:53

А если нет, то чего же вы темень разводите непонятную.

Как передать с формой:

а) поместить значение массива как json-строку в добавленное поле формы.
б) если форма передается методом POST, то массив преобразованный в url параметры можно добавить к action формы, при этом поля формы сервер получит в $_POST, а этот массив а $_GET.

Выбирайте как удобнее.

Salvat 22.02.2016 20:00

Я таких людей никогда не встречал, вместо одной строчки кода, развести такую полемику.
<form action="crop.php" method="post">
    <input type="hidden" name="x1" value="" />
    <input type="hidden" name="y1" value="" />
    <input type="hidden" name="x2" value="" />
    <input type="hidden" name="y2" value="" />
    <input type="hidden" name="w" value="" />
    <input type="hidden" name="h" value="" />
    <input type="hidden" name="arr" id="arr" value=""> 
  <input type='submit' value='Crop' />
</form>

Вот так добавить присвоим значение arr value
А вот она та самая строчка текста, которую необходимо было написать.
document.getElementById('arr').value="photo/" + arr;


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