Usando Ajax

4 respostas
A

Galera,

O parâmetro postFunction das tags do Ajaxtags não deveria executar o javascript somente após executada a função do Ajax?

function novo() {
	alert(teste);
}

	<html:text styleClass="text" property="descAgente" style="width:415px;" size="60"/>
	<html:text styleClass="text" property="idAgente"/>

<ajax:autocomplete
	source="descAgente"
	target="idAgente"
	baseUrl="agente.view"
	parameters="descAgente={descAgente}"
	className="autocomplete"
	minimumCharacters="3"
	postFunction="novo()"/>
Imaginei que no código acima, utilizando o autocomplete, somente depois do usuário selecionar o item da lista, seria exibida a mensagem true.

O fato é que todo o ajax está funcionando corretamente, mas o alerta de true é exibido logo ao carregar a pagina, antes que qualquer ação. Estou fazendo algo de errado ou simplesmente não entendi a razão do postFunction?

[]'s

4 Respostas

diogoprosoft

Cara retira o parenteses do postFuncion
ex:

<ajax:autocomplete  
     source="descAgente"  
     target="idAgente"  
     baseUrl="agente.view"  
     parameters="descAgente={descAgente}"  
     className="autocomplete"  
     minimumCharacters="3"  
     postFunction="novo"/>

Vê se resolve

A

Valeu cara!

Até funcionou em chamar o javascript mas não teve o resultado que eu queria…

Preciso que seja validado o conteudo do campo. O Ajax usa o autocomplete para auxiliar o usuário e depois dele escolher a opção, o valor seja validado.

A
Alguma coisa parecida com essa:
function novoAgente() {
	if (document.getElementById("idAgente").value == "new") {
		alert("Voce escolheu NOVO");
	}
}
	<html:text styleClass="text" property="descAgente"/>
	<html:hidden styleClass="text" property="idAgente"/>

<ajax:autocomplete
	source="descAgente"
	target="idAgente"
	baseUrl="agente.view"
	parameters="descAgente={descAgente}"
	className="autocomplete"
	minimumCharacters="3"
	postFunction="novoAgente"/>
Dessa forma só funciona se o usuário voltar ao mesmo campo depois de selecionado o valor da lista exibida pelo Ajax
diogoprosoft

Hum, isso é verdade pq ao escolher o item da lista o javascript é executado antes de ter o resultado no outro campo para poder pegar o id e validar!!!

vc já deu uma olhada aqui:
http://www.ajaxmatters.com/articles/gen/ajaxtags_1_p1.aspx
http://www.ajaxmatters.com/articles/gen/ajaxtags_2_p1.aspx

Dica: Usa o jquery cara, faz um tempo que só uso ele pq não é engessado e não tem problemas com browsers

Criado 19 de abril de 2010
Ultima resposta 19 de abr. de 2010
Respostas 4
Participantes 2