Ir para conteúdo

POWERED BY:

Arquivado

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

FabianoSouza

Criação de controles HTML (via ASP)

Recommended Posts

Pessoal,

 

Estou usando estas linhas para criar uma checkbox. A linha está dentro de um loop.

 response.Write("<input type=checkbox name=cod_servico_fornecedor value=")
   response.Write rs("ForneceServsCod")
   response.Write("/>")

Depois recupero o valor destes itens via JS/AJAX.

 

O problema é que ao recuperar aparece uma barra no meu array JS.

Fica assim 25/,30/,32/, e assim por diante. Essa barra faz dar um erro quando vou inserir os valores do array no banco de dados.

Até poderia resolver isso facilmente usando um replace. Mas acho mais adequado descobrir a causa do problema.

Por que aparece essa barra???

Já fiz o teste de usar response.Write(">") ao invés de response.Write("/>") para finalizar a tag. Mas não resolveu.

 

Também fiz o teste de usar checkbox diretamente no HTML (ao invés de usar estes criados em ASP e carrega-los via AJAX). Aí o array em JS funciona direitinho, sem a barra, ficando 25,30,32.

 

Ou seja, o erro realmente está na criação da tag, não no JS.

 

Um help por caridade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tenho um bd, que através dele gero os checkboxes

 

==========================================================================
======================GERANDO OS CHECKBOX´S DINAMICAMENTE=====================
==========================================================================

Set RsQuery = Conn.Execute("SELECT back.* FROM back order by back.fita")
Set RsNome = Conn.Execute("SELECT * FROM operadores where matricula = '" & RsQuery("Matricula") & "'")

If Not RsQuery.BOF AND Not RsQuery.EOF Then

Do While not RsQuery.eof
%>
======================NOME DO CHECK, DINÂMICO PASSADO PELA VARIÁVEL "Y"=========

<INPUT TYPE="checkbox" NAME="<%=y%>" value="<%=RsQuery("fita")%>">

<%
RsQuery.movenext
Loop
=======================FIM DA GERAÇÃO DO CHECKBOX========================

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido. Quando fiz o teste usando o response.Write(">") para finalizar a tag, certamente havia algo no cache com o valor anterior, que era response.Write("/>"). Fiz uma limpeza e reiniciei o PC, agora está funcionando.

No final da história o problema era a barra de finalização da tag :-).

 

xanburzum, não conhecia essa forma que vc usa para criar tag. Aprendi mais esta.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, que bom que resolveu. E lembre-se de sempre limpar o cache. e outra saída seria criar os checkboxes em js ou jquery

 

<html>
<head>
<script type='text/javascript'>
window.onload = function(){
var cks = document.getElementsByName( 'nomes[]' ) ;
for ( var i = 0 ; i < cks.length ; i++ )
{
cks[i].onclick = function(){
var oChecados = document.getElementById( 'arrayID' ) ;
( this.checked == true ) ?
oChecados.value += this.value + ',' :
oChecados.value = oChecados.value.replace( ',' + this.value + ',' , ',' ) ;
}
}
}
</script>
</head>
<title>Pagina</title>
<body>
<input type="text" id="arrayID" name="arrayID" value='0,' /><br />
<input type="checkbox" name="nomes[]" value="1" /> João<br />
<input type="checkbox" name="nomes[]" value="2" /> Pedro<br />
<input type="checkbox" name="nomes[]" value="7" /> Carlos<br />
</body>
</html>

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.