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;
}
Exemplo:
No Chrome:
No Mozilla:
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!
Usando um debugger consegui ver o seguinte erro:
[Somente usuários registrados podem vem os links. ]
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 =\!
Linha descrita pelo erro:
Código:
if(ajax.status == 200) {
document.getElementById(div).innerHTML = ajax.responseText;
var texto = unescape(ajax.responseText.replace(/\+/g, " "))
ExtractScript(texto);
}
Obs: Uso o Mozilla 15, Chrome 21, e Internet Explorer 9.
Se alguem puder me ajudar ficarei grato!