从输入类型文件中获取值

Get value from input type file

我想在使用输入类型文件时更改输入类型文本值。我已经尝试了以下代码,但我仍然无法弄清楚如何处理这个问题。

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);
});

注意,jquery 使用 "val()" 方法访问输入值。

我猜你的脚本在控制台中有一些错误..

试试

$('input[type="file"].filename').val(file_name);

同理,最好通过以下代码获取文件值:

var file_name = $(this).val().replace(/\/g, '/').replace(/.*\//, '')

如果您尝试更改 text 字段值,为什么要针对 file 值?

代码如下所示:

/* 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;
    }
);