Имя картинки в текстовое поле по клику

kopoba

Новичок
Имя картинки в текстовое поле по клику

Здравствуйте. Мне нужно по клику по картинке записать в текстовое поле имя файла.
Функция обработки клика такая:
PHP:
     //Обновление поля "Имя файла"
     function SetPr(imgname)
     { document.getElementById("ffname").value=imgname; }
Вывод картинок вот такой:
PHP:
     <?    foreach($Photos as $n=>$Img)
           {?>
             <IMG SRC="<?=$Img['url']?>" onclick="SetPr('<?=$Img['name']?>')">
             <?     
             }
     ?>
Текстовое поле вот такое:
PHP:
   <form name="setPr">
   Имя картинки: <input type="text" name="fname" id="ffname" value=""><br><br>
   </form>
Однако после загрузки картинок из директории и по клику по любой из них, в текстовое поле ничего не выводится.
Где могла закрасться ошибка?(
 

kopoba

Новичок
Ну скажите, пожалуйста. Полдня сижу, даже не знаю, что еще попробовать. Уже и местами менял, и jpg вместо gif подставлял.
И забивал в функцию конкретный путь к картинке. И кавычки все перепробовал..
 

dimagolov

Новичок
Лучше скажи что ты в итоге хочешь получить, зачем тебе в текстовом поле имя файла и какого по-твоему файла имя там должно быть.
 

kopoba

Новичок
Почему тогда точто такой же у других работает?
Вот, например:
http://artspb.com/labs/G4541/RYBAKOVA/Lab5%2C6_KSU/photoksu.php

-~{}~ 20.06.09 22:51:

Надо по картинке тыкнуть (тем самым выбрать какую именно картинку обрабатывать). Она записывается в поле, а далее по кнопке обработать - обрабатывается фильтром.

-~{}~ 20.06.09 22:53:

А быть там должно имя файла из директории gifs/
При просмотре кода страницы все пути картинок правильно записываются в соответствующие онклики, но вот только по самому клику ничего не происходит.
 

dimagolov

Новичок
каким фильтром и где ты собрался ее обрабатывать?

если на сервере, то храни перечень картинок в базе, id картинки пиши каким-нибудь атрибутом в img, примерно так
PHP:
<img ... db_id="<?php echo $curId; ?>" onclick="SetPr(this)" >
а на сервер передавай именно этот Id
PHP:
function SetPr(curImg) { 
   document.getElementById("ff_id").value=curImg.getAttribute ? curImg.getAttribute('db_id') : curImg.db_id; 
}
иначе кто попало сможет дергать любые файлы у тебя на сервере
 

kopoba

Новичок
Все файлы на сервере лежат. И выполняю я их там же.
Вот пример, который работает:
1.Вывод фото из директории на сервере
PHP:
<? foreach($Photos as $n=>$Img) { 
if (($Img['url']!="$ImgDir/img1.jpg")&&($Img['url']!="$ImgDir/img2.jpg")) { ?> 
<br> 
<IMG SRC="<?=$Img['url']?>" 
<?=$Img['wh']?> alt="Downloaded <?=date("d.m.Y H:i:s",$Img['time'])?>"
onclick="SetPr('<?=$Img['name']?>')" border=2>
<br>
<? } } ?>
2. Функция явы
Код:
//Обновление поля "Имя файла"
function SetPr(imgname)
{ document.getElementById("ffname").value=imgname;
  //sndProcessReq(setPr.type.value,imgname);
}
3. Форма
PHP:
<form name="setPr">
Имя картинки: <input type="text" name="fname" id="ffname" value=""><br><br>
-~{}~ 20.06.09 23:06:

Сервер учебный. Поэтому о вопросах какой-либо защиты файлов вопрос не стоит. Мы там пхп изучаем все вместе.
 

Фанат

oncle terrible
Команда форума
kopoba
ты русский язык понимаешь? может, тебе по-японски сказать?
 

kopoba

Новичок
Избавиться от php в то время, когда у соседа за спиной тоже самое работает? Нет уж. Я лучше продолжу перебирать всевозможные варианты кавычек и слэшей.

-~{}~ 20.06.09 23:32:

Спасибо. Буду разбираться. Хочется не просто взять у другого, хочется понять хоть кусочек.
 

Black Raven

Новичок
[offtopic]
Lightning
Т.е. отказ от влючения мозга в пользу "перебирания всевозможных вариантов" тебя не смущает? :)
[/offtopic]
 

Lightning

Трудоголик
Меня удивляет, что в форуме "Вопросы по программированию на РНР" задают вопросы по JavaScript и на них даже отвечают что-то :)
Т.е. отказ от влючения мозга в пользу "перебирания всевозможных вариантов" тебя не смущает?
Ага, все должны были кинуться отговаривать ТС-а перебирать варианты :)

-~{}~ 21.06.09 01:19:

ТС вообще код страницы, которую скрипт выдает, смотрел?
Ошибки JS в браузере смотрел?
 

kopoba

Новичок
Ошибок JS нет.
Код смотрел. Все пути к картинкам, которые сделал код пхп правильные. Пробовал в JS функции вбить
document.getElementById("ffname").value="jopa"
И все равно тишина.
 

dimagolov

Новичок
kopoba, в твоем последнем посте внутреннее противоречие. Если JS, который должен изменять содержимое инпута этого не делает, то значит, что в нем ошибка. или он не вызывается. вставь alert в начале, чтобы убедится что ф-я вызывается.
 
Сверху