Recuperar parametro

Boa tarde pessoal,

Estou usando ajax para carregar uma tabela, so que quando eu tento recuperar um parametro para fazer a pesquisa, ele me retorna null, como eu devo fazer !!! Vou postar um pedaço do codigo.

else if(acao=='ListaDatas'){
for(i = 0; i < document.cadSolicitacao.fluxo.length; i++){
     if(document.cadSolicitacao.fluxo[i].checked){
	var fluxo = document.cadSolicitacao.fluxo[i].value;
	mensagem(fluxo);
    }

função que recupeara o valor clicado (estou usando input type=“radio” )

var xmlhttp=false;

try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
}
	
function mensagem(fluxo){
var theUrl = "/WORKATIS2/ControllerRegistrarSolicitacao?action=listarDatas";
		
xmlhttp.open("GET", theUrl, true);

xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4) {
	ExibeMensagem(false);
	criaAviso(xmlhttp.responseXML);
}else{
	ExibeMensagem(true);
}
}
xmlhttp.send(null);
};

function ExibeMensagem(fluxo){
var DivRef = document.getElementById('MensagemAguarde');
if(fluxo){
alert("OK");
DivRef.style.display = "block";
}else{
alert("NOT OK");
DivRef.style.display = "none";
}
}
	
function criaAviso(ajaxResponse) {
alert("OK");
}

Aqui esta a função do Ajax.js

String fluxo = (String) request.getParameter("fluxoEscolhido");
Hashtable hash = new Hashtable();

Pedaco do .java

Quando ele passa pela variavel, ele nao encontra nenhum valor, isso pq eu nao estou passando um submit, como eu posso fazer com que ele pege o valor selecionado !!

valew

Nossa eu prefiro usar o prototype, ele faz esse trabalho sujo por você:

http://www.prototypejs.org/api/ajax

Onde na sua função dentro do for seria mais ou menos assim:

function suaFuncao(recebeu){
  	try {
	  		alert(recebeu);
	  		var urlc = 'SuaServlet';
		        var parsc = "par1="+yyy+"&par2=xxx";
	                var myAjaxc = new Ajax.Request(
	                    urlc,
	                    {
		                method: 'post',
		                parameters: parsc,
                                onSuccess: mostraMensagem
	                    }
	               );
        } catch(e) {
	    	alert(e.message);
	      	return;
	}      
}
	

Isso pode te ajudar muito:

http://www.sergiopereira.com/articles/prototype140.js.ptBR.html

T

Pedrosa,

[code]
var xmlhttp=false;

try {
xmlhttp = new ActiveXObject(“Msxml2.XMLHTTP”);
}catch(e){
try {
xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP”);
}catch(E){
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest != ‘undefined’) {
xmlhttp = new XMLHttpRequest();
}

function suaFuncao(recebeu){
try {
alert(recebeu);
var urlc = “/WORKATIS2/ControllerRegistrarSolicitacao?action=listarDatas”;
var parsc = “fluxo=”+fluxo+";
var myAjaxc = new Ajax.Request(
urlc,
{
method: ‘post’,
parameters: parsc,
onSuccess: mostraMensagem
}
);
} catch(e) {
alert(e.message);
return;
}
}

function ExibeMensagem(fluxo){
var DivRef = document.getElementById(‘MensagemAguarde’);
if(fluxo){
alert(“OK”);
DivRef.style.display = “block”;
}else{
alert(“NOT OK”);
DivRef.style.display = “none”;
}
}

function criaAviso(ajaxResponse) {
alert(“OK”);
}

[code]

Isso aqui estaria certo ??
eu so substitui a função, usei a sua.

Vou dar uma lida naquele materiall

Olha o seu for como ficaria:

Maneira antiga

for(i = 0; i < document.cadSolicitacao.fluxo.length; i++){
      if(document.cadSolicitacao.fluxo[i].checked){
 	var fluxo = document.cadSolicitacao.fluxo[i].value;
 	mensagem(fluxo);
     }
}

Maneira nobre

$$('input[type="checkbox"][name="fluxo"]').select(function(i){return i.checked}).each(function(i){mensagem(i.value)});

Obs você precisa adicionar a lib do prototype no seu projeto e fazer a chamada na pagina.

Toda essa tranqueira sai:

ar xmlhttp=false;

try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
xmlhttp = false;
}
} 

Conforme tinha falado a biblioteca faz essa parte!

Utilize a tag code para deixar o código formatado no forum, uma outra coisa que reparei agora não passe parametros na url note que eu uso com a variavel pars:

Onde você deveria ter algo assim:

function xpto(){
    $$('input[type="checkbox"][name="fluxo"]').select(function(i){return i.checked}).each(function(i){mensagem(i.value)}); 
}
function mensagem(fluxo){
    var url = 'ControllerRegistrarSolicitacao';
    var pars = "fluxo="+fluxo+"&action=listarDatas";
    var myAjax = new Ajax.Request(
          url,
          {
               method: 'post',
	        parameters: pars,
               onSuccess: outraFuncao
		                
	   }
    );

}

Como está o retorno da sua Servlet?

Entao Pedrosa,

Com relação ao codigo, eu apaguei sem querer e acabei nao vendo o que aconteceu, mas eu resolvi assim, passei a URL com o parametro e deu certo, ficou assim:

var theUrl = "/WORKATIS2/ControllerRegistrarSolicitacao?action=listarDatas&fluxoEscolhido="+fluxo;

Ai eu consigo passar o valor e recuperar via getParameter.

valew pela ajuda, vou ler o material que vc passou para aprender mais.