Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.03.2012, 14:24
Аспирант
Отправить личное сообщение для V2oD2o Посмотреть профиль Найти все сообщения от V2oD2o
 
Регистрация: 19.01.2011
Сообщений: 59

Требуется подсказка по ajax..
$(document).ready(function() {
  var button = $('#uploadButton'), interval;
  $.ajax_upload(button, { action : 'upload.php?param='+document.getElementById('fnewname').value,

....

}


вопрос в следующем:
страничка загрузилась с параметром внутри fnewname='device-0001-00.jpg', в процессе тыкания всяких настроек поле меняем в вид fnewname='device-0001-02.jpg'.. пытаюсь залить новую фотку.. но видимо из поля fnewname берется то, изначальное значение которое было onload страницы? т.е. перезаписывается файл device-0001-00.jpg вместо device-0001-02.jpg..

вобщем то как можно решить данную проблемку? в ajax слабоват пока..

upload.php:
<?php
$uploaddir = 'data/img-moto/';
$uploadfile = basename($_FILES['myfile']['name']);
$data=$_GET['param'];
move_uploaded_file($_FILES['myfile']['tmp_name'], $uploaddir.$data);
?>


схема работы:
на сайте добавили товар, без фоток - их грузим отдельно, 3шт - названия у них уже предопределены в переменной $fname - их надо только загрузить..

$fname=str_replace("", "", strtolower($row['name']."-".$row['article']."-".$row['id']));


затем:
<input type=text id=fnewname style='font-size:9px;color:ccc;' value='".$fname.".jpg'>


т.е. добавил товар DEVICE, с артикулом 0001, и порядовый номер фотки 00 - грузим фото - отлично, страница обновляется.. добавляем фото №2 т.е. device-0001-01.jpg - в поле fnewname - "device-0001-01.jpg" - жму #uploadButton - а оно обновляет всю ту же device-0001-00.jpg..

вот.

Последний раз редактировалось V2oD2o, 15.03.2012 в 15:18.
Ответить с цитированием
  #2 (permalink)  
Старый 15.03.2012, 18:39
Аспирант
Отправить личное сообщение для V2oD2o Посмотреть профиль Найти все сообщения от V2oD2o
 
Регистрация: 19.01.2011
Сообщений: 59

Задайте чтоли вопрос если что не понятно.. все распишу.. проект встал..

вот кусок который меняет поле fnewname:
<input type='radio' name='myradio' value='0' checked='checked' onclick=getElementById('fnewname').value='".$fname.".jpg'>1
<input type='radio' name='myradio' value='0' onclick=getElementById('fnewname').value='".$fname."1.jpg'>2
<input type='radio' name='myradio' value='0' onclick=getElementById('fnewname').value='".$fname."2.jpg'>3

fnewname - видимый инпут, значение меняется на нужное..


кто поможет 100р на телефон кину

Спасибо!

Последний раз редактировалось V2oD2o, 15.03.2012 в 18:47.
Ответить с цитированием
  #3 (permalink)  
Старый 15.03.2012, 19:55
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

кавычками обрамлять значения атрибутов умеете?
Ответить с цитированием
  #4 (permalink)  
Старый 15.03.2012, 20:01
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Цитата:
onclick=getElementById('fnewname').value='".$fname ."1.jpg'
тут не мешало бы кавычки поставить, вероятно проблема в этом, т.е. onclick=\"getElementById('fnewname').value='".$fna me."1.jpg'\"

Цитата:
document.getElementById('fnewname').value
у вас же jQuery. зачем это? $('#fnewname').val()
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #5 (permalink)  
Старый 15.03.2012, 20:19
Аспирант
Отправить личное сообщение для V2oD2o Посмотреть профиль Найти все сообщения от V2oD2o
 
Регистрация: 19.01.2011
Сообщений: 59

Спасибо что отозвались!

но оно же меняет значение в fnewname.. попробую поправить.. дело в том что тут:

$.ajax_upload(button, { action : 'upload.php?param='+document.getElementById('fnewname').value,


берется значение "изначальное", т.е. открыл панельку редактирования edit-article.php - там указано сгенерированное значение в fnewname - "device-0001-00.jpg".. чекаю чекбокс №2 - значение в инпуте - "device-0001-01.jpg".. жму "выполнить".. выбранный файл перезаписывает "device-0001-00.jpg" т.е. то что опять же изначально там было.. может doc.ready умеет "брать" значение заранее как то? как то может в онклик надо переделать?

код пхп полностью (на тему кавычек):

<?php
EditID=$_GET['moto-id-edit'];
$query="SELECT * FROM `moto` WHERE `id`='".$EditID."'";
$sql=mysql_query($query) or die(mysql_error());
$row=mysql_fetch_assoc($sql);
$fname=str_replace("", "", strtolower($row['brand']."-".$row['model']."-".$row['id']));
echo "<center><table id=edit-mototable-sh class=edit-mototable1 width=400 border=0 cellpadding=5 cellspacing=0 style='font-size:12px;'>";
echo "<tr class=motoitem><td width=150>ID</td><td width=200 id=detail_moto_id>".$row['id']."</td></tr>";
echo "<tr class=motoitem><td width=150>Марка</td><td width=300><input id=u_brand type=text style='width:200px;' value=".$row['brand']."></td></tr>";
echo "<tr class=motoitem><td width=150>Модель</td><td width=300><input id=u_model type=text style='width:200px;' value=".$row['model']."></td></tr>";
echo "<tr class=motoitem><td width=150>Цена</td><td width=300 style='color:#f00;'><input id=u_cost type=text style='width:200px;' value=".$row['cost']."></td></tr>";
echo "<tr class=motoitem><td width=150>Год выпуска</td><td width=300><input id=u_year type=text style='width:200px;' value=".$row['year']."></td></tr>";
echo "<tr class=motoitem><td width=150>Цвет</td><td width=300><input id=u_color type=text style='width:200px;' value=".$row['color']."></td></tr>";
echo "<tr class=motoitem><td width=150>Объем</td><td width=300><input id=u_cc type=text style='width:200px;' value=".$row['cc']."></td></tr>";
echo "<tr class=motoitem><td width=150>Штук в наличии</td><td width=300><input id=u_count type=text style='width:200px;' value=".$row['count']."></td></tr>";
echo "<tr class=motoitem><td width=150>Тип техники</td><td width=300><input id=u_type type=text style='width:200px;' value=".$row['type']."></td></tr>";
echo "<tr class=motoitem><td width=150>Фото</td><td width=300><span id=uploadButton><b><u>Загрузить</u></b></span>
<input type='radio' name='myradio' value='0' checked='checked' onclick=getElementById('fnewname').value='".$fname.".jpg'>1
<input type='radio' name='myradio' value='0' onclick=getElementById('fnewname').value='".$fname."1.jpg'>2
<input type='radio' name='myradio' value='0' onclick=getElementById('fnewname').value='".fname."2.jpg'>3<br><input type=text id=fnewname style='font-size:9px;color:ccc;' value='".$fname.".jpg'></td></tr>";
echo "<tr height=50><td colspan=2><span id=btn onclick=UpdateItem(".$row['id'].");window.close();>Сохранить</span><span id=btn onclick=window.close();>Закрыть панель</span></td></tr>";		
echo "</table></center>";
?>


работаю в gedit, он говорит что с "пунктуацией" все в порядке.. оно работает, проблема в обработчике #uploadButton, нет?

копипастните в редактор:
echo "<tr class=motoitem><td width=150>Фото</td><td width=300><span id=uploadButton><b><u>Загрузить</u></b></span>
<input type='radio' name='myradio' value='0' checked='checked' onclick=getElementById('fnewname').value='".$fname.".jpg'>1
<input type='radio' name='myradio' value='0' onclick=getElementById('fnewname').value='".$fname."1.jpg'>2
<input type='radio' name='myradio' value='0' onclick=getElementById('fnewname').value='".fname."2.jpg'>3<br><input type=text id=fnewname style='font-size:9px;color:ccc;' value='".$fname.".jpg'></td></tr>";

Последний раз редактировалось V2oD2o, 15.03.2012 в 20:32.
Ответить с цитированием
  #6 (permalink)  
Старый 15.03.2012, 20:43
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Цитата:
но оно же меняет значение в fnewname
и что? по этому кавычек не надо? с кавычками у вас вообще беда.

Цитата:
$query="SELECT * FROM `moto` WHERE `id`='".$EditID."'";
двойные кавычки работают медленнее т.к. подразумевают наличие переменных в строке. если уж ими пользоваться то нужно писать так
$query="SELECT * FROM `moto` WHERE `id`='$EditID'";
а у вас конкатенация. тогда ставьте одинарные.

Цитата:
EditID=$_GET['moto-id-edit'];
тут явно что то не то
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)

Последний раз редактировалось Tim, 15.03.2012 в 20:58.
Ответить с цитированием
  #7 (permalink)  
Старый 15.03.2012, 21:03
NSB NSB вне форума
Новичок на форуме
Отправить личное сообщение для NSB Посмотреть профиль Найти все сообщения от NSB
 
Регистрация: 15.03.2012
Сообщений: 2

почему onclick=getElementById
а не onclick=document.getElementById
Ответить с цитированием
  #8 (permalink)  
Старый 15.03.2012, 21:04
Аспирант
Отправить личное сообщение для V2oD2o Посмотреть профиль Найти все сообщения от V2oD2o
 
Регистрация: 19.01.2011
Сообщений: 59

Сообщение от Tim Посмотреть сообщение
и что? по этому кавычек не надо? с кавычками у вас вообще беда.


двойные кавычки работают медленнее т.к. подразумевают наличие переменных в строке. если уж ими пользоваться то нужно писать так
$query="SELECT * FROM `moto` WHERE `id`='$EditID'";
а у вас конкатенация. тогда ставьте одинарные.


тут явно что то не то
EditID=$_GET['moto-id-edit']

цепляет айди нормально, суть вопроса не в этом
Ответить с цитированием
  #9 (permalink)  
Старый 15.03.2012, 21:04
NSB NSB вне форума
Новичок на форуме
Отправить личное сообщение для NSB Посмотреть профиль Найти все сообщения от NSB
 
Регистрация: 15.03.2012
Сообщений: 2

и без кавычек оно не будет работать
Ответить с цитированием
  #10 (permalink)  
Старый 15.03.2012, 21:05
Аспирант
Отправить личное сообщение для V2oD2o Посмотреть профиль Найти все сообщения от V2oD2o
 
Регистрация: 19.01.2011
Сообщений: 59

Сообщение от NSB Посмотреть сообщение
почему onclick=getElementById
а не onclick=document.getElementById
документ открыт внутри одной сессии, работает
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
требуется написать скрипт с использованием ajax xmount Работа 9 01.03.2012 01:20
Ajax таблица gofkane Работа 1 26.09.2011 18:26
Требуется Программист-разработчик JavaScript / Ajax acti Работа 4 09.02.2011 20:21
требуется AJAX программист Москва или удаленно eqe Работа 0 20.04.2009 04:50
Требуется подсказка в коде, для блога fidan Общие вопросы Javascript 0 19.04.2009 16:21