Вставьте имя файла в текстовое поле - PullRequest
0 голосов
/ 07 января 2011


Как мне вставить имя файла загруженного файла, используя это -> http://www.fengcool.com/2009/06/ajax-form-upload-local-image-file-without-refresh/ или valums.com/ajax-upload/ в существующем текстовом вводе?
(Я использую php)

Текстовое поле напр.
<input name="image" type="text" value="file_name" />

1 Ответ

0 голосов
/ 07 января 2011

Вам нужно, чтобы реальная страница PHP обработки загрузки отвечала именем файла загруженного файла.

В ajax fengcool она предоставляется в функции startUpload () с помощью:

var response = $(myFrame.contentWindow.document.body).text();

Вы используете эту переменную «response» везде, где вам нужно поместить имя файла.

Она фактически передается как переменная «image» в функцию addUpload (), которую вы можете изменить, чтобы также заполнить текстовое поле, примернокак это:

document.getElementById ("image"). value = image

Однако вам, вероятно, следует назвать свое имя <input> менее общим способом, чтобы избежать путаницы.

ОБНОВЛЕНИЕ, что делать:

1) Назовите свое текстовое поле более уникальным способом, например:

<input id="uploaded_image_name" type="text" value="" />

// Обратите внимание, что я использовал "id", а не "name ", чтобы иметь возможность использовать Javascript функцию getElementById ()

2), используйте ajax fengcool и измените функцию addUpload () следующим образом:

function addUpload(id,img){
   var div = $(document.createElement('div')).attr('id',id);

   //add uploaded image
   div.html("<img src='"+img+"'><br />");
   document.getElementById("uploaded_image_name").value=img

   //add text box
   var fileName = img.substring(img.lastIndexOf("/")+1);
   var txtbx = $(document.createElement('input')).attr('name','img[]').attr('type','text').val(fileName);
   /* you may want to change textbox to a hidden field in production */
   //var txtbx = $(document.createElement('input')).attr('name','img[]').attr('type','hidden').val(fileName);
   txtbx.appendTo(div);


   //add remove thumbnail link
   var rem = $(document.createElement('a'))
                               .attr('alt',id)
                               .attr('href','javascript:;')
                               .text("Remove").click(removeUpload);      
   rem.appendTo(div);

   //add to the page
   div.appendTo("#uploaded_thumb");
}

Обратите внимание, что единственноеизменение было добавление 4-го командираг в функции.

...