E aí galera beleza?
Consegui postar um formulario via get com ajax. Como fazer o mesmo via post? Alguém tem algum algoritmo na manga?
E aí galera beleza?
Consegui postar um formulario via get com ajax. Como fazer o mesmo via post? Alguém tem algum algoritmo na manga?
Hmm… Tenta fazer o seguinte, na tag form:
..
function subOk(){
// Aki, vc invoca o método doPost do seu servlet.
//e depois:
document.forms[0].submit();
return false; // obrigando a não recarregar a pagina
}
..
<form ... onSubmit="javascript:subOk()">
Não sei se vai funcionar. Mas tenta ai.
Abraço
EDIT: Acho que não vai funcionar, pois quando executa o
document.forms[0].submit();ele já inicia o carregamento da pagina…

Seria isso?
function enviar(){
var req = new XMLHttpRequest();
req.open("POST", "pagina.jsp", true);
req.onreadystatechange = function(){
if(req.readyState==4){
alert("Enviado...");
}
}
params = "param1=valor1&param2=valor2";
req.send(params);
}
Então galera, eu queria pegar um form, tipo eu qeria criar uma função generica pra enviar todos os forms com post
//Fun??o que transforma um form em uma string que pode ser enviada por get
/**
idForm = id do form que ser? transformado
*/
function BuscaElementosForm(idForm) {
var elementosFormulario = document.getElementById(idForm).elements;
var qtdElementos = elementosFormulario.length;
var queryString = "";
var elemento;
//Cria uma funcao interna para concatenar os elementos do form
this.ConcatenaElemento = function(nome,valor) {
if (queryString.length>0) {
queryString += "&";
}
queryString += encodeURIComponent(nome) + "=" + encodeURIComponent(valor);
};
//Loop para percorrer todos os elementos
for (var i=0; i<qtdElementos; i++) {
//Pega o elemento
elemento = elementosFormulario[i];
if (!elemento.disabled) {
//Trabalha com o elemento caso ele nao esteja desabilitado
switch(elemento.type) {
//Realiza a acao dependendo do tipo de elemento
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;
}
galera assim eu envio qualquer form com qualquer parametro por get, como transformar isso em post?