Categoría wiki: Ajax
Buenas estoy haciendo una especie de calculadora pero en vez de numeros uso variables que tengo en select con datos dinamicos, que saco de mi base de datos mysql, pero al llamar la funcion en xajax que agrega la variable en texbox no lo hace, pero si uso un select estatico, es decir, con los valores preestablecidos ahi si funciona bien :( no se que error tengo asumo que es en xajax porq corre bien pero no hace lo que quiero!! aqui dejo el codigo.. Esperp me puedan ayudar por fa!!!
<?php
require ('xajax/xajax_core/xajax.inc.php');
require("conexion.php");
$xajax = new xajax();
function agregar_variable($form){
$respuesta=new xajaxResponse();
//$respuesta->alert("Alexandra");
$aux=$form["formula"]." ".$form["variable"]." ";// aux igual lo q esta en formula concatenado con variable
$respuesta->assign("formula","value",$aux);
//$respuesta->assign("sel","innerHTML",$select);
//$respuesta->alert("joseasasas");
return $respuesta;
}
function agregar_simbolo($form){
$respuesta=new xajaxResponse();
if($form["suma"]!=""){
$aux=$form["formula"]."+";
$respuesta->assign("formula","value",$aux);
$respuesta->assign("suma","checked","");
}else
if($form["resta"]!=""){
$aux=$form["formula"]."-";
$respuesta->assign("formula","value",$aux);
$respuesta->assign("resta","checked","");
}
else
if($form["multi"]!=""){
$aux=$form["formula"]."*";
$respuesta->assign("formula","value",$aux);
$respuesta->assign("multi","checked","");
}
else
if($form["div"]!=""){
$aux=$form["formula"]."/";
$respuesta->assign("formula","value",$aux);
$respuesta->assign("div","checked","");
}
if($form["pa"]!=""){
$aux=$form["formula"]."(";
$respuesta->assign("formula","value",$aux);
$respuesta->assign("pa","checked","");
}
else
if($form["pc"]!=""){
$aux=$form["formula"].")";
$respuesta->assign("formula","value",$aux);
$respuesta->assign("pc","checked","");
}
//$respuesta->assign("sel","innerHTML",$select);
//$respuesta->alert("joseasasas");
return $respuesta;
}
//xajax
$xajax->register(XAJAX_FUNCTION,'agregar_variable');
$xajax->register(XAJAX_FUNCTION,'agregar_simbolo');
//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequest();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ejemplo </title>
</head>
<?php
//En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario
$xajax->printJavascript("xajax/");
?>
<body>
<form action="" method="post" name="formi" id="formi">
Sumar<input name="suma" id="suma" type="checkbox" value="+" onchange="xajax_agregar_simbolo(xajax.getFormValues('formi'))"/>
Restar<input name="resta" id="resta" type="checkbox" value="-" onchange="xajax_agregar_simbolo(xajax.getFormValues('formi'))" />
Multiplicar<input name="multi" id="multi" type="checkbox" value="*" onchange="xajax_agregar_simbolo(xajax.getFormValues('formi'))"/>
Dividir<input name="div" id="div" type="checkbox" value="/" onchange="xajax_agregar_simbolo(xajax.getFormValues('formi'))" />
<p>
Parentesis Abierto<input name="pa" id="pa" type="checkbox" value="(" onchange="xajax_agregar_simbolo(xajax.getFormValues('formi'))" />
Parentesis Cerrado<input name="pc" id="pc" type="checkbox" value=")" onchange="xajax_agregar_simbolo(xajax.getFormValues('formi'))" />
<p>
<?php $result=mysql_query("select nom_var from variables"); ?>
<select name="variables" id="variables" onchange="xajax_agregar_variable(xajax.getFormValues('formi'))">
<?php
while ($row = mysql_fetch_assoc($result))
{
?>
<option value="<? echo'$row["nom_var"]';?>"><?=$row['nom_var'];?></option>
<?php
}
require("cerrarconex.php");
?>
</select>
<select name="variable" id="variable" onchange="xajax_agregar_variable(xajax.getFormValues('formi'))">
<option value="Incidentes">Incidentes</option>
<option value="Productos">Productos</option>
<option value="Otra">Otra</option>
<option value="Varios">Varios</option>
</select>
formula:
<input type="text" name="formula" id="formula" size="50" />
</p>
<input name="enviar" type="button" value="enviar" />
<p> </p>
</form>
</body>
</html>
En todos o en la mayoria de los navegadores existe una herramienta que te ayuda a debugear tu codigo Jscript, Ajax etc... te recomiendo el plugin de firefox que se llama firebug. |