我想在使用输入类型文件时更改输入类型文本值。我已经尝试了以下代码,但我仍然无法弄清楚如何处理这个问题。
HTML:
<input type="text" name="imagem" class="filename" value="<?php echo htmlentities($row_dados['imagem'], ENT_COMPAT, 'utf-8'); ?>" size="32" readonly />
<input type="file" name="id_imagem">
JS:
$('input[type="file"]').on('change', function (event, files, label) {
var file_name = this.value.replace(/\\/g, '/').replace(/.*\//, '')
$('input[type="text"].filename').value(file_name);
});
答案 0 :(得分:0)
小心,jquery使用“val()”方法来访问输入值。
我猜你在脚本控制台上有一些错误..
尝试
$('input[type="file"].filename').val(file_name);
同样,使用以下代码更好地获取文件值:
var file_name = $(this).val().replace(/\\/g, '/').replace(/.*\//, '')
答案 1 :(得分:0)
如果您尝试更改文字字段值,为什么要定位文件值?
代码如下:
/* Let's bind it just for the id_imagem, not the all input[type="file"] */
$('#id_imagem').bind
(
'change',
function(e)
{
/* Supposing your fields are inside a <form>, this notation will work */
this.form.elements['imagem'].value = this.value.replace(/\\/g, '/').replace(/.*\//, '');
return true;
}
);