从输入类型文件中获取值

时间:2015-02-09 12:02:39

标签: javascript php file text input

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

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

2 个答案:

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