Alex, não foi desse jeito que citei....
Foi assim:
var meuLink=document.getElementById(id');
var textoLink=meuLink.childNodes[0];
Repare a diferença...
Voce fez assim:
document.getElementsById('botao').childNodes[0];
Essa linha sua nada mais faz do que retornar o primeiro nó filho do elemento 'botao'...
Que supostamente seria a parte textual do link....
Para você entender melhor sobre a situação pensemos numa estrutura de dados em árvore que representa fielmente um arquivo html.
>>>> Vamos supor que dentro do seu link 'botao' vc tenha um texto, uma imagem e um elemento span:
<a href="javascript:envia()" id="botao">
Teste 1
<img src="teste.gif" width="20" height="20" alt="" title="" />
<span>Teste 2</span>
</a>
A suposta representação em arvore do código acima:
........................|------------------|
........................|...link 'botao'...|
........................|------------------|
..................................|
........|-------------------------|------------------------|
|------------------|....|--------------------|...|------------------|
|......Teste 1.....|....|........<img>.......|...|......<span>......|
|------------------|....|--------------------|...|------------------|
...........................................................|
.................................................|------------------|
.................................................|......Teste 2.....|
.................................................|------------------|
Quando vc faz:
var linkFilhos = documentgetElementById('botao').chilNodes;
Você está armazenando na variável
linkFilhos um
Object Collection, que nada mais é do que um vetor(array) que contém os descedentes de primeiro grau (filhos) em cada elemento desse vetor.
Supostamente seria assim:
linkFilhos[0] seria igual a um nó do tipo texto (string) = "Teste 1"
linkFilhos[1] seria igual a um nó de elemento (objeto) = elemento IMG
linkFilhos[2] seria igual a um nó de elemento (objeto) = elemento SPAN
Ok ok...com isso tudo vc teria que pegar esses 3 filhos e colocá-los fora do elemento A('botao')...
ai vc teria que criar por exemplo um <span> com um id='tal' e colocar esses 3 elementos dentro desse span...
Como?
Exemplo:
var objSpan = document.getElementById('tal');
for(var i=0;i<linkFilhos.length;i++)
{
objSpan.appendChild(linkFilhos[i]);
}
// agora o que falta é substituir o SPAN pelo A('botao')
// é necessário que tanto o 'tal'(SPAN) como o 'botao' sejam filhos de um mesmo elemento pai
var objBotao = document.getElementById('botao');
objSpan.parentNode.replaceChild(objBotao,objSpan); //Substituindo um elemento pelo outro
Ok ok....Sugestão 1 FINALIZADA!
A outra que citei foi a seguinte:
var objLink = document.getElementById('id');
objLink.onclick = function () { return void(0); }
Essai ai também deve funcionar....Basta colocar esse código num bloco de JavaScript qualquer e pronto...
Isso nada mais vai fazer do que quando um usuário clicar...o link não fará nada...
OBS.: vale lembrar que tudo isso seria inócuo caso o usuário desabilitasse o javascript do navegador dele...
ainda podendo fazer inclusão no banco de dados várias vezes...
Por isso recomendo que você faça uma validação server-side.

Não hesite em perguntar sobre tudo isso...
basta eu ter tempo pra responder...
::Obrigado pela dúvida
OBS PARA OS MODERADORES E PRESIDENTE DO FORUM:
Po que sacanagem heim....eu acho que vocês deveriam colocar para que
o script do fórum preservasse os espaços em brancos...
Pelo menos na "tag" ...