Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Chateau

Limpar campo filefield em formulário

Recommended Posts

Tenho um filefield no meu formulário para q o usuário possa selecionar um arquivo para upload, até ai td bem!!! Em algumas ocasiões será necessário q o usuário pressione um link para limpar o conteúdo do filefield, neste caso eu chamo uma função, mas da forma q estou fazendo a função é exeucatada normalmente, mas o filefield não tem seu conteúdo limpo. Segue o código.

 

o campo filefield:

<input name="fot01" type="file" class="navText" id="foto01"/>

 

O link q chama a função para limpar o conteúdo do filefield:

<a href="#" onclick="subtrair();"><img src="images/exclui.jpg" alt="Excluir Foto" width="12" height="12" /></a>

 

A função q deveria limpar o conteúdo do filefield:

function subtrair()

{

foto01 = document.upload.fot01;

foto01.value = ""; //Limpa o conteúdo do filefield

}

 

 

Grato a todos!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

existem outros campos no formulário ?

Existem outros campos no form, mas só quero limpar um especificamente q é o filefield, n posso usar o botão de reset, pois isso limpará todos os campos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi o que imaginei..

 

se não me engano acho que é possível resetar um unico campo

 

tipo

 

document.form.field.reset();

 

não sei ao certo se funciona ou se funcionaria com campos do tipo file

 

 

 

o metodo acima nao funciona.

 

mas é possível resolver isso com uma adaptação

 

exemplo

 

<script language=javascript>

function resetFileField( fN )

{

obj = document.getElementById(fN);

sv = obj.innerHTML;

obj.innerHTML = '';

obj.innerHTML = sv;

}

</script>

 

<form id=frm>

<input type=text name=nm size=20 value=''>

<br><span id=fileF><input type=file name=nm1 size=20></span>

<br><input type=button value=clear onclick="resetFileField( 'fileF' );">

<br><input type=reset>

</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi o que imaginei..

 

se não me engano acho que é possível resetar um unico campo

 

tipo

 

document.form.field.reset();

 

não sei ao certo se funciona ou se funcionaria com campos do tipo file

 

 

 

o metodo acima nao funciona.

 

mas é possível resolver isso com uma adaptação

 

exemplo

 

<script language=javascript>

function resetFileField( fN )

{

obj = document.getElementById(fN);

sv = obj.innerHTML;

obj.innerHTML = '';

obj.innerHTML = sv;

}

</script>

 

<form id=frm>

<input type=text name=nm size=20 value=''>

<br><span id=fileF><input type=file name=nm1 size=20></span>

<br><input type=button value=clear onclick="resetFileField( 'fileF' );">

<br><input type=reset>

</form>

 

Amigo, sua dica para limpar o filefield com o obj.innerHTML, funcionou perfeitamente. Muito obrigado! Só gostaria de tirar uma outra dúvida. Teria como mudar a propriedade READONLY do filefield quando ele for preenchido? A idéia é a seguinte: Quando o filefield for preenchido ele fique com readonly = true e caso o usuário queira modificar seu conteúdo ele tera que primeiro limpar, ai o readonly = false, então ele poderá selecionar um outro arquivo. Grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi o que imaginei..

 

se não me engano acho que é possível resetar um unico campo

 

tipo

 

document.form.field.reset();

 

não sei ao certo se funciona ou se funcionaria com campos do tipo file

 

 

 

o metodo acima nao funciona.

 

mas é possível resolver isso com uma adaptação

 

exemplo

 

<script language=javascript>

function resetFileField( fN )

{

obj = document.getElementById(fN);

sv = obj.innerHTML;

obj.innerHTML = '';

obj.innerHTML = sv;

}

</script>

 

<form id=frm>

<input type=text name=nm size=20 value=''>

<br><span id=fileF><input type=file name=nm1 size=20></span>

<br><input type=button value=clear onclick="resetFileField( 'fileF' );">

<br><input type=reset>

</form>

 

Amigo, sua dica para limpar o filefield com o obj.innerHTML, funcionou perfeitamente. Muito obrigado! Só gostaria de tirar uma outra dúvida. Teria como mudar a propriedade READONLY do filefield quando ele for preenchido? A idéia é a seguinte: Quando o filefield for preenchido ele fique com readonly = true e caso o usuário queira modificar seu conteúdo ele tera que primeiro limpar, ai o readonly = false, então ele poderá selecionar um outro arquivo. Grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi o que imaginei..

 

se não me engano acho que é possível resetar um unico campo

 

tipo

 

document.form.field.reset();

 

não sei ao certo se funciona ou se funcionaria com campos do tipo file

 

 

 

o metodo acima nao funciona.

 

mas é possível resolver isso com uma adaptação

 

exemplo

 

<script language=javascript>

function resetFileField( fN )

{

obj = document.getElementById(fN);

sv = obj.innerHTML;

obj.innerHTML = '';

obj.innerHTML = sv;

}

</script>

 

<form id=frm>

<input type=text name=nm size=20 value=''>

<br><span id=fileF><input type=file name=nm1 size=20></span>

<br><input type=button value=clear onclick="resetFileField( 'fileF' );">

<br><input type=reset>

</form>

 

Amigo, sua dica para limpar o filefield com o obj.innerHTML, funcionou perfeitamente. Muito obrigado! Só gostaria de tirar uma outra dúvida. Teria como mudar a propriedade READONLY do filefield quando ele for preenchido? A idéia é a seguinte: Quando o filefield for preenchido ele fique com readonly = true e caso o usuário queira modificar seu conteúdo ele tera que primeiro limpar, ai o readonly = false, então ele poderá selecionar um outro arquivo. Grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o objeto "file" possui regras de segurança que bloqueiam alterações sem concentimento do usuário.

 

 

e, então ele poderá selecionar um outro arquivo. Gr

poderia explicar melhor o que está pretendendo fazer ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o objeto "file" possui regras de segurança que bloqueiam alterações sem concentimento do usuário.

 

 

e, então ele poderá selecionar um outro arquivo. Gr

poderia explicar melhor o que está pretendendo fazer ?

 

Quando um arquivo é selecionado no file, eu somo um valor a um outro campo, e quando limpo o file, esse valor somado é subtraido... Se o campo n for limpo e o usuário modificar o conteúdo do file o valor é somado novamente, pois a função de soma tá no onchange, ficando errado o valor total desejado. Por isso antes de permitir q o usuário modifique o conteúdo do file é necessário limpa-lo antes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi o motivo em querer fazer isso

 

talvez, explicando o montivo, podemos mostrar soluções diferentes

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi o motivo em querer fazer isso

 

talvez, explicando o montivo, podemos mostrar soluções diferentes

 

O motivo é evitar q o valor total fique errado, por isso é necessário limpar antes de somar novamente, como explicado acima!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O motivo é evitar q o valor total fique errado, por isso é necessário limpar antes de somar novamente, como explicado acima!

valor total do quê ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

O motivo é evitar q o valor total fique errado, por isso é necessário limpar antes de somar novamente, como explicado acima!

valor total do quê ??

 

Já resolvi, obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.