Como adicionar uma palavra ao final de um input-text dinamicamente

11 respostas
A

oii gente tudo blz ?
a ilustração e a seguinte…
quando o cara clicasse no botão “marcar como feito” eu adicionaria a palavra “feito” no final do texto
nessa função que eu fiz eu percorro todos os campos checkboxs e quando eu achar um que esteja selecionado eu vou la e adiciono a palavra “feito” no final do texto
bem a teoria e essa né kkkkk

function add_done(obj){
	 var e = document.getElementsByTagName("input");
      
	   
	    for(var i=0;i<e.length;i++)
        {
                if (e[i].type=="checkbox" && e[i].checked == true)
                {
                        
						obj.innerHTML += "done";
						//alert("obj = " + obj);
                }       
				
        }
	
	
}

11 Respostas

P

no caso quando o checkbox tiver marcado vc quer alteraro label dele?

A

esse texto vem de um input-text não de um label

o código completo e esse

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script language="javascript" type="text/javascript">
function newTag(texto) {


 var obj = document.getElementById("lista");
if(!texto == ""){
var novaMarcacao = "<input id=\"box\" name=\"box\" type=\"checkbox\" onclick=\"desabilitar(this)\"  />"+texto+"<br/>";
//obj.innerHTML = novaMarcacao += obj.innerHTML;
obj.innerHTML += novaMarcacao
}
else{
alert("digite alguma coisa");	
}
}

function desabilitar(obj){
	
//var texto = document.getElementById('texto');	
//texto.innerHTML = texto.innerHTML + "Done";

obj.setAttribute('disabled','disabled');
obj.setAttribute('checked','true');


}

function habilitar(obj){
	
obj.setAttribute('checked','false');	
	
}

function desmarca(master)
{
        var e = document.getElementsByTagName("input");
       
        for(var i=0;i<e.length;i++)
        {
                if (e[i].type=="checkbox")
                {
                        e[i].checked = false;
						e[i].disabled = false;
						//break;
                }       
				
        }
        master.checked = true; 
		
		
		
}
function add_done(obj){
	 var e = document.getElementsByTagName("input");
      
	   
	    for(var i=0;i<e.length;i++)
        {
                if (e[i].type=="checkbox" && e[i].checked == true)
                {
                        
						obj.innerHTML += "done";
						alert("obj = " + obj);
						break;
                }       
				
        }
	
	
}



</script>

</head>

<body>
<form action="" method="post" name="formulario">


<input name="texto" id="texto" type="text" />

<input type="button" value="Add List" onclick="newTag(document.formulario.texto.value)"  />

<div id="lista">



</div>

<input name="botao" type="button" value="Mark selected as done" onclick="add_done(document.formulario.texto.value)" />
<input name="botao_desmarca" type="button" value="Delete seleted" onclick="desmarca(this)" />

</form>


</body>
</html>
A

no lugar de obj.innerHTML += “done”; troque por:

obj.value += ' done';
D

não deu
continuou a mesma coisa
e agora ?

P

mas obj é o valor do input text…

tenta assim
ou

var valor = document.getElementById('texto').value;
valor += ' DONE';
document.getElementById('texto').value = valor;
D

fazendo isso perdeu ta adicionando done ao input-text la em cima
era pra adicionar done no texto que vai ficar ao lado do checkbox

P

passa a referencia dele usando “this” nas chamdas das funções.

D

ainda continua adicionando done la em cima =/

D

eu consegui mudar coloquei o texto que ficava ao lado do checkbox dentro de um label
fiz assim
alert(document.getElementById(‘label_text’).innerHTML += ’ (Done)’);
só falta agora colocar onde tiver marcado =D

M

Ola...

Não sei se te ajudaria, mas quando quero que aparece algum texto na página vindo de uma função, eu coloco do lado do campo input um <span>.
Quando a função é chamada, ela seta esse <span> com innerHTML.

Olha um exemplo:

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /&gt;
		&lt;script language="javascript"&gt;
			function verificar() {
				if(document.getElementById('nome').value==''){
					document.getElementById('erroNome').innerHTML="Insira um Nome";
				}
				if(document.getElementById('sobrenome').value==''){
					document.getElementById('erroSobrenome').innerHTML="Insira um Sobrenome";
				}
			}
			function limpar(input) {
				document.getElementById(input).innerHTML="";
			}
			function enviar(input) {
				if((!document.getElementById('nome').value=='') && (!document.getElementById('sobrenome').value=='')) {
						document.getElementById(input).submit();
				}
			}
		&lt;/script&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;form name="teste1" id="teste1" action="#Tratamento-salvo.html" method="get"&gt;
			Nome:<br />
			&lt;input type="text" name="nome" id="nome" value="" onFocus="limpar('erroNome')"&gt; &nbsp;&lt;span id="erroNome" style="color:red;font-size:small;font-style:oblique;font-family:Times New Roman;"&gt; &lt;/span&gt;<br /><br />

			Sobrenome:<br />
			&lt;input type="text" name="sobrenome" id="sobrenome" value="" onFocus="limpar('erroSobrenome')"&gt;&nbsp;&lt;span id="erroSobrenome" style="color:red;font-size:small;font-style:oblique;font-family:Times New Roman;"&gt; &lt;/span&gt;<br /><br />
			&lt;input type="button" value="Enviar" id="envia" onClick="verificar(), enviar('teste1')"&gt;
		&lt;/form&gt;
	&lt;/body&gt;
&lt;/html&gt;

Espero que seja mais ou menos isso. =)

D

consegue cara valeuu
=D

Criado 14 de março de 2012
Ultima resposta 26 de mar. de 2012
Respostas 11
Participantes 4