No desenvolvimento da minha Web me deparei com um erro bastante chato --', que é um erro no Mozilla, onde não consegue pegar os dados do formulário!
Vejam:
Estou usando esta função:
Código:
function BuscaElementosForm(idForm)
{
var elementosFormulario = document.getElementById(idForm).elements;
var qtdElementos = elementosFormulario.length;
var queryString = "";
var elemento;
this.ConcatenaElemento = function(nome,valor)
{
if (queryString.length > 0)
{
queryString += "&";
}
queryString += encodeURIComponent(nome) + "=" + encodeURIComponent(valor);
};
for (var i = 0; i < qtdElementos; i++)
{
elemento = elementosFormulario[i];
if (!elemento.disabled)
{
switch(elemento.type)
{
case 'text': case 'password': case 'hidden': case 'textarea':
this.ConcatenaElemento(elemento.name,elemento.value);
break;
case 'select-one':
if (elemento.selectedIndex >= 0)
{
this.ConcatenaElemento(elemento.name,elemento.options[elemento.selectedIndex].value);
}
break;
case 'select-multiple':
for (var j = 0; j < elemento.options.length; j++)
{
if (elemento.options[j].selected)
{
this.ConcatenaElemento(elemento.name,elemento.options[j].value);
}
}
break;
case 'checkbox': case 'radio':
if (elemento.checked)
{
this.ConcatenaElemento(elemento.name,elemento.value);
}
break;
}
}
}
return queryString;
}
Tenho um formulário de cadastro, lá ao usar esta função no Mozilla não envia valores, ou envia valores Nulos, enquanto no Chrome e no Internet Explorer envia normalmente sem problemas!
Mais creio que não tenha nada a ver, porque verificando a linha indicada no erro, a função é diferente ^^'. então não faço ideia pois não intendo de JavaScript =\!
Obs: Uso o Mozilla 15, Chrome 21, e Internet Explorer 9.
Se alguem puder me ajudar ficarei grato!
11-09-2012, 06:02 PM
gneccao
O proprio erro fala o problema...
falta essa funcao no funcoes_fd.js
Código:
function ExtractScript(texto)
{
var ini, pos_src, fim, codigo, texto_pesquisa;
var objScript = null;
texto_pesquisa = texto.toLowerCase()
ini = texto_pesquisa.indexOf('<script', 0)
while (ini!=-1){
var objScript = document.createElement("script");
pos_src = texto_pesquisa.indexOf(' src', ini)
ini = texto_pesquisa.indexOf('>', ini) + 1;
if (pos_src < ini && pos_src >=0){
ini = pos_src + 4;
fim = texto_pesquisa.indexOf('.', ini)+4;
codigo = texto.substring(ini,fim);
codigo = codigo.replace("=","").replace(" ","").replace("\"","").replace("\"","").replace("\'","").replace("\'","").replace(">","");
objScript.src = codigo;
}else{
fim = texto_pesquisa.indexOf('</script>', ini);
codigo = texto.substring(ini,fim);
objScript.text = codigo;
}
document.body.appendChild(objScript);
ini = texto.indexOf('<script', fim);
objScript = null;
}
}
11-09-2012, 06:16 PM
Ayrton Ricardo
OBG gneccao,
O erro no Debugg saiu, porém ainda não está buscando os dados no Formulário!
OBS: O que está me intrigando é que no Chrome e no Internet Explorer( que é o que mais tenho problema ) não vem dando erro ¬¬'
11-09-2012, 06:20 PM
gneccao
Isso eh estranho, pois uso as mesmas funcoes que estao no topico, e so uso firefox, e comigo funciona normalmente.
11-09-2012, 10:10 PM
Ayrton Ricardo
Andei vendo mais alguns debugg e não há erro de sintaxe no comando não!
Realmente não sei o que está havendo, mas está muito além dos meus conhecimentos...
Continuarei procurando e acompanhando este tópico. Caso ache colocarei aqui a resposta para este erro!
Att. FuryousⱣɃ
05-10-2012, 12:21 AM
Ayrton Ricardo
Como prometi, achei a resposta para o meu erro....e infelizmente o erro foi lamentável
Na página de cadastro eu estava usando o form dentro de uma table :@ e isso fez com que não lê-se cara isso é irritante, pois demorei quase 1 mes pra descobrir que só era troca-lo de lugar ..... --' ( mas ao menos consegui ) e estou postando aqui como prometido!