22.08.2012, 08:40
|
Аспирант
|
|
Регистрация: 29.04.2010
Сообщений: 51
|
|
забрать значение type=text
Здравствуйте, возникла проблемка. Казалось бы ерунда.
Настраиваю под свои нужды prupload (мультизагрузка файлов).
Суть в том, что есть input type=text, я хочу передать значение в нем в другой файл обработчик.
если я делаю так:
<input type=text id="descript1" name="descript1">
и передаю потом:
<script type="text/javascript">
$(function() {
$("#html5_uploader").pluploadQueue({
// General settings
runtimes : 'html5',
url : 'upload.php',
max_file_size : '10mb',
multipart_params: {"description1": $("input[name=descript1]").val()},
});
});
</script>
То в файл upload.php в description1 передается пустота.
Если я в input жестко присваиваю значение value, тогда передается то, что присвоего в value.
Вот так:
<input type=text id="descript1" name="descript1" value="Какое-то значение">
и передаю потом:
<script type="text/javascript">
$(function() {
$("#html5_uploader").pluploadQueue({
// General settings
runtimes : 'html5',
url : 'upload.php',
max_file_size : '10mb',
multipart_params: {"description1": $("input[name=descript1]").val()},
});
});
</script>
в upload.php получаю строку "Какое-то значение".
Даже если я в input type=text напишу что-то свое затерев "Какое-то значение", то все равно в upload.php я получу "Какое-то значение".
Пробовал input вставлять после java скрипта, но толку нет. все тот же результат.
Подскажите, в какую сторону копать? или может у меня явно допущена ошибка, которую я не вижу?
Последний раз редактировалось neon_tmn, 22.08.2012 в 08:51.
Причина: выделил важные моменты для удобства понимания
|
|
22.08.2012, 09:19
|
Аспирант
|
|
Регистрация: 29.04.2010
Сообщений: 51
|
|
Попробовал так:
<select id="descript1" name="descript1"><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>
ну и передать естественно multipart_params: {"description1": $("select[name=descript1]").val()},
Теперь он всегда берет value="1", не зависимо от того, что я выбираю.
|
|
22.08.2012, 10:10
|
|
Кандидат Javascript-наук
|
|
Регистрация: 19.08.2012
Сообщений: 100
|
|
можно посмотреть на страницу с такими чудесами?
|
|
22.08.2012, 10:16
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от neon_tmn
|
ну и передать естественно multipart_params: {"description1": $("select[name=descript1]").val()},
Теперь он всегда берет value="1", не зависимо от того, что я выбираю.
|
neon_tmn, Скорее всего Вы считываете для передачи значение value раньше его изменения пользователем -
Вариант тестирования данной ситуации - *Если Пустота - то вы считали до изменения поля value
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript"> var changeValue='';</script>
<input type=text id="descript1" name="descript1" oninput="changeValue=this.value"> <input type=button onclick="Alert()" value="Cмотреть">
<script type="text/javascript">
function Alert() {
alert(changeValue);
}
</script>
Последний раз редактировалось Deff, 22.08.2012 в 10:19.
|
|
22.08.2012, 10:19
|
|
Кандидат Javascript-наук
|
|
Регистрация: 19.08.2012
Сообщений: 100
|
|
Сообщение от Deff
|
передачи значение value раньше его изменения пользоватеоем
|
автор писал, что и если он в html заменит значение, то всё равно ему приходит другое.
|
|
22.08.2012, 10:20
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
LittlePony,
Тут подстраховка со второй переменной
|
|
22.08.2012, 11:20
|
Аспирант
|
|
Регистрация: 29.04.2010
Сообщений: 51
|
|
LittlePony, делаю на локальном апаче, поэтому наверное нигде.
Deff, открываю страницу в браузере. передо мной мультизагрузчик и мой type=text. Событие мультизагрузчика обрабатывается в файле upload.php.
Я в input ввожу значение, потом нажимаю на ссылку, по которой происходит обработка в upload.php. Поэтому раньше передаться никак не может.
|
|
22.08.2012, 11:21
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
neon_tmn,
Поставьте мой тест
<script type="text/javascript"> var changeValue='';</script>
<input type=text id="descript1" name="descript1" oninput="changeValue=this.value">
- передавайте переменную changeValue
|
|
22.08.2012, 11:24
|
Аспирант
|
|
Регистрация: 29.04.2010
Сообщений: 51
|
|
В самом простом виде так:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<link rel="stylesheet" href="jquery.plupload.queue/css/jquery.plupload.queue.css" type="text/css" media="screen" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript" src="http://bp.yahooapis.com/2.4.21/browserplus-min.js"></script>
<script type="text/javascript" src="../js/plupload.js"></script>
<script type="text/javascript" src="../js/plupload.flash.js"></script>
<script type="text/javascript" src="../js/plupload.html5.js"></script>
<script type="text/javascript" src="../js/jquery.plupload.queue/jquery.plupload.queue.js"></script>
</head>
<body>
<select id="descript1" name="descript1"><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>
<form>
<div>
<div id="html5_uploader" style="width: 450px; height: 330px;">You browser doesn't support native upload. Try Firefox 3 or Safari 4.</div>
</div>
</form>
<script type="text/javascript">
$(function() {
$("#html5_uploader").pluploadQueue({
runtimes : 'html5',
url : 'upload.php',
max_file_size : '10mb',
multipart_params: {"description1": $("select[name=descript1]").val()},
});
});
</script>
</body>
</html>
|
|
22.08.2012, 11:28
|
Аспирант
|
|
Регистрация: 29.04.2010
Сообщений: 51
|
|
Deff, сделал так:
<select id="descript1" name="descript1" oninput="changeValue=this.value"><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>
и ниже
<script type="text/javascript">
$(function() {
var changeValue='';
// Setup html5 version
$("#html5_uploader").pluploadQueue({
// General settings
runtimes : 'html5',
url : 'upload.php',
max_file_size : '10mb',
chunk_size : '1mb',
unique_names : true,
multipart: true,
multipart_params: {"description1": changeValue},
filters : [{title : "Image files", extensions : "jpg,gif,png"},],
});
});
</script>
upload.php возвращает пустоту
|
|
|
|