CodeCharge Studio
search Register Login  

Web Reporting

Visually create Web Reports in PHP, ASP, .NET, Java, Perl and ColdFusion.
CodeCharge.com

YesSoftware Forums -> CodeCharge Studio -> Español

 problema con ajax.updater para actualizar un listbox

Print topic Send  topic

Author Message
sardinasanibal

Posts: 22
Posted: 02/02/2011, 6:41 AM

hola a todos, tengo el siguiente problema, tengo un formulario con x cantidad de campos, uno de los cuales es un listbox con valores que estan en una base de datos, ante la inexistencia de un valor, se debe crear el nuevo valor, para ello tengo un link al lado del listbox que abre un popup en el cual cargo el nuevo valor a la base de datos, cuando se carga, cierra el popup, y al seleccionar nuevamente el listbox el valor que agregue no aparece. solo se ve cuando refresco la pantalla.
estaba buscando informacion al respecto y encontre una funcion del ajax prototype (ajax.updater)la cual hace una consulta del lado del servidor y trae los datos de la base de datos para un campo en particular.

la sintaxis es: new Ajax.Updater(elemento, url, opciones);

pero no logro hacerlo funcionar, como soy nuevo en esto y estoy aprendiendo, nose donde meter el codigo, si en onload u oncharge y que otras cosas mas tendria q hacer.
ademas tengo implementado listbox anidados para paises, prov y ciudades, y en su codigo es:
function SitesRegion_idPTDependentListBox1_start(sender) {
var dependentElement = $("SitesRegion_id" + sender.id.substring(15));
var selectedValue = null;
if (addEventHandler.isOnLoad)
selectedValue = dependentElement.value;
new Ajax.Request("services/Sites_maint_Sites_Region_id_PTDependentListBox1.asp?keyword=" + sender.value, {
method: "get",
requestHeaders: ['If-Modified-Since', new Date(0)],
onSuccess: function(transport) {
for (var i = dependentElement.options.length - 1; i > 0; i--) {
var currentOption = dependentElement.options.item(i);
if (currentOption.value != "") {
dependentElement.remove(i);
}
}
var valueRows = eval(transport.responseText);
for (var i = 0; i < valueRows.length; i++) {
var newOption = new Option(valueRows["1"], valueRows["0"]);
dependentElement.options[dependentElement.options.length] = newOption;
}
if (CCGetParam(sender.name) == sender.value) {
dependentElement.value = CCGetParam(dependentElement.name);
}
if (selectedValue)
dependentElement.value = selectedValue;
},
onFailure: function(transport) {
alert(transport.responseText);
}
});
}
veo q usa un servicio de consulta para buscar los datos al servidor, y en la parte de opciones de la funcion, segun me comentaron ahi se arma nuevamente el listbox con los valores nuevos. pero en este codigo esta presente la foreign key de la otra tabla, osea el valor dependiente, y mi otra tabla no depende de nadie, entonces el codigo no me sirve,.

creo q fui demasiado extenso, espero q me puedan ayudar, ya voy una semana con esto y no se que mas hacer...

gracias.
View profile  Send private message

Add new topic Subscribe to topic   


These are Community Forums for users to exchange information.
If you would like to obtain technical product help please visit http://support.yessoftware.com.

PHP Reports

Visually create Web Reports in PHP, ASP, .NET, Java, Perl and ColdFusion.
CodeCharge.com

Home   |    Search   |    Members   |    Register   |    Login


Powered by UltraApps Forum created with CodeCharge Studio
Copyright © 2003-2004 by UltraApps.com  and YesSoftware, Inc.