Передать значение переменной
Получаю какая картинка была нажата
$(document).ready(function(){ $(".knopka").click(function(){ var cliked = this.id.split('-'); var arr = cliked[1]; }); Вывожу превью $(document).ready(function () { $('<div><img src="ТУТ" style="position: relative;" /><div>') .css({ float: 'left', position: 'relative', overflow: 'hidden', width: '150px', height: '200px' }) .insertAfter($('#photo')); $('#photo').imgAreaSelect({ aspectRatio: '1:1', handles: true, onSelectChange: preview, onSelectEnd: function ( image, selection ) { $('input[name=x1]').val(selection.x1); $('input[name=y1]').val(selection.y1); $('input[name=x2]').val(selection.x2); $('input[name=y2]').val(selection.y2); $('input[name=w]').val(selection.width); $('input[name=h]').val(selection.height); } }); }); </script> Как передать сюда, где ТУТ значение переменной arr? $('<div><img src="ТУТ" style="position: relative;" /><div>') .css({ |
Salvat, строка 5
$('#photo + div img')[0].src = arr |
рони,
$(document).ready(function(){ $(".knopka").click(function(){ var cliked = this.id.split('-'); var arr = cliked[1]; $('#photo + div img')[0].src = "photo/" + arr; }); }); не сработало |
<script type="text/javascript"> function preview(img, selection) { var scaleX = 150 / (selection.width || 1); var scaleY = 200 / (selection.height || 1); $('#photo + div > img').css({ width: Math.round(scaleX * 600) + 'px', height: Math.round(scaleY * 400) + 'px', marginLeft: '-' + Math.round(scaleX * selection.x1) + 'px', marginTop: '-' + Math.round(scaleY * selection.y1) + 'px' }); } $(document).ready(function (arr) { $('<div><img src="ТУТ" style="position: relative;" /><div>') .css({ float: 'left', position: 'relative', overflow: 'hidden', width: '150px', height: '200px' }) .insertAfter($('#photo')); $('#photo').imgAreaSelect({ aspectRatio: '1:1', handles: true, onSelectChange: preview, onSelectEnd: function ( image, selection ) { $('input[name=x1]').val(selection.x1); $('input[name=y1]').val(selection.y1); $('input[name=x2]').val(selection.x2); $('input[name=y2]').val(selection.y2); $('input[name=w]').val(selection.width); $('input[name=h]').val(selection.height); } }); }); </script> Это создается превью. |
Ошибка была у меня, рони, огромнейшее спасибо, сутки голову ломал.
|
Еще вопрос, а если не содержит arr адрес изображения, как тогда указать другое?
|
Salvat,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <script> $(function(){ $('<div><img src="ТУТ" style="position: relative;" /><div>') .css({ float: 'left', position: 'relative', overflow: 'hidden', width: '150px', height: '200px' }) .insertAfter($('#photo')); $('#photo + div img')[0].src = "http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" }) </script> </head> <body> <style type="text/css"> .hot{ border: 1px dashed Gray; padding: 5px; height: 100px; width: 100px } </style> <div class="hot" id="photo"></div> </body> </html> |
Salvat,
var arr = cliked[1] || "ссылка на заглушку"; |
Действительно, профессор!!!
Ну и последний вопрос, как передать это значение, которое имеет src='arr' в переменную php не используя GET запрос. Или только с помощью GET можно получить значение? |
Salvat,
не понимаю о чём вы спросили, ждите специалиста. |
$(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 на другую страницу. |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Цитата:
<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. |
Цитата:
А то городите какую-то несуразицу - чтобы данные arr передавались, допустим, методом GET/POST на другую страницу, не получая их с помощью GET на текущей странице. А с какой страницы их надо передать? |
Цитата:
Вы читайте внимательней, уважаемый. Я же пишу Цитата:
$arr = $_GET['img']; вот таким образом с помощью php, что приведет к перезагрузке страницы. Мне же необходимо, со страницы, где получаю данные arr их передать на другую страницу вместе с формой. Так яснее? |
Цитата:
Передать на другую страницу форму, это: action="url другой страницы" это разве не на другую страницу? А чтобы при этом остаться на текущей странице не прибегая к средствам сервера, это Ajax. |
Нет, у меня нет необходимости оставаться на текущей странице. Все верно Вы поняли, методом POST или GET отправить значение этого самого arr вместе с формой. Как?
|
А если нет, то чего же вы темень разводите непонятную.
Как передать с формой: а) поместить значение массива как json-строку в добавленное поле формы. б) если форма передается методом POST, то массив преобразованный в url параметры можно добавить к action формы, при этом поля формы сервер получит в $_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="hidden" name="arr" id="arr" value=""> <input type='submit' value='Crop' /> </form> Вот так добавить присвоим значение arr value А вот она та самая строчка текста, которую необходимо было написать. document.getElementById('arr').value="photo/" + arr; |
Цитата:
Если ваш arr, это строка, то не надо везде писать "массив", "массив", помещайте в свое поле и .... А передать можно двумя способами, как, было сказано выше, на будущее, для чтобы знать впредь. |
Часовой пояс GMT +3, время: 01:02. |