Jump to content

Formulario no hace ACTION


Recommended Posts

bueno es simple... le pongo al boton ingresar de mi formulario y resulta que no hace nada..si no me equivoco es un problema del javascript....

Mi codigo:


 

<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
class DoVistaCupones
{
function display( &$lists )
{
global $Itemid;
$app =& JFactory::getApplication();
$template = JURI::base() . 'templates/' . $app->getTemplate();
?>
<script type="text/javascript" language="JavaScript">
function frmCuponesSubmit()
{
jQuery('#msjCupones').html();
jQuery('#frmCuponesTask').val( 'ingresar_check' );
postData = formToJSON('#frmCupones');
jQuery.post('index.php', postData, function(data) {
if( parseInt(data.error) == 1 ) {
jQuery('#msjCupones').html(data.errormsj);
}else {
jQuery('#frmCuponesTask').val( 'ingresar' );
jQuery('#frmCupones').submit();
}
}, "json");
jQuery('#frmCuponesTask').val('');
return false;
}
function frmProfesionalesVer(id)
{
frm = document.frmProfesionales;
frm.task.value = 'ficha';
frm.id.value = id;
frm.submit();
}
</script>
<div class="com_do" align="left">
<div class="profesionales formulario">
<div id="msjCupones" class="msg"><?php echo isset($lists['mensaje'])?$lists['mensaje']:'';?></div>
<form name="frmCupones" id="frmCupones" action=<?php echo JRoute::_("index.php?option=com_do&Itemid=$Itemid");?> method="post">
<table width="500">
<tr>
<td>
<div class="row"><label for="nombre">Nombre(*)</label></div>
<div class="row"><input type="text" name="cpn_nombre" id="nombre" value="<?php echo $lists['nombre'];?>" size="20" title="Nombre y Apellido" /></div>
<div class="row"><label for="rut">Apellido (*)</label></div>
<div class="row"><input type="text" name="cpn_apellido" id="apellido" value="<?php echo $lists['apellido'];?>" size="20" title="Rut" /></div>
</td>
<td>
<div class="row"><label for="rut">Rut (*)</label></div>
<div class="row"><input type="text" name="cpn_rut" id="rut" value="<?php echo $lists['rut'];?>" size="15" title="Rut" /> Ej: 12345678-9</div>
<div class="row"><label for="email">E-mail (*)</label></div>
<div class="row"><input type="text" name="cpn_email" id="email" value="<?php echo $lists['email'];?>" size="20" title="E-mail" /></div>
<?php echo "HOLA EL ITEM:".$itemid;?>
</td>
</tr>
<tr>
<td colspan="2">
<div class="row"><label for="telefono">Teléfono (*)</label></div>
<div class="row"><input type="text" name="cpn_telefono" id="telefono" value="<?php echo $lists['telefono'];?>" size="20" title="Teléfono" /></div>
</td>
</tr>
<tr>
<td colspan="2">
<div class="boton" align="right"><input type="button" name="frmCupones_btnbuscar" onclick="javascript:frmCuponesSubmit();" class="submit" value="Ingresar" /></div>
</td>
</tr>
</table>
<input type="hidden" name="option" value="com_do" />
<input type="hidden" name="c" value="cupones" />
<input type="hidden" name="task" id="frmCuponesTask" value="" />
<input type="hidden" name="id" value="" />
<input type="hidden" name="Itemid" value="<?php echo $Itemid;?>" />
</form>
<div class="texto" style="padding:20px;"><strong>Promoción válida para personas mayores de 40 años, stock limitado de 1000 cupones, 1 cupón por persona nominativo e intransferible, descuento no acumulable, Valido solo para compra de bonos a través del sistema I-med, vigencia del 1/08/2011 al 30/09/2011.</strong></div>
</div>
</div>
<?php
}
function finpromo( &$lists )
{
global $Itemid;
$app =& JFactory::getApplication();
$template = JURI::base() . 'templates/' . $app->getTemplate();
?>
<div class="com_do" align="left">
<div class="profesionales formulario">
<div class="cajadestacado_big"><div class="texto"><strong>Estimado cliente la promoción ha finalizado. Gracias por su comprensión.</strong></div><img src="<?php echo $template;?>/imagenes/cajadestacado_inferior_710.jpg" alt="" /></div>
</div>
</div>
<?php
}
}
?>

si pueden ayudarme les agradecería por mientras seguiré investigando

Link to comment
Share on other sites

Igual como que teni la cagá con el HTML...

Por ejemplo, meter divs dentro de los forms no es buena idea.

Tienes 2 for apuntando a rut, el de apellido y el de rut.

 

Te recomiendo trabajar con firefox

Instalar web developer

Y al lado derecho superior de la pantalla te apareceran unos tickets o equis rojas

Fijate bien que ahí te indica el error javascript, que al parecer ese es tu problema...

 

Es como una consolta de errores, pero más facil de encontrar el error.

Link to comment
Share on other sites

Lo otro....en que parte del head tienes incluido Jquery???.....prueba con eso; yo lo probé en local y le puse un alert a la función function frmCuponesSubmit() y si me tira el mensaje :mmm:

 

 

PS: Saludos :krider:

Link to comment
Share on other sites

Lo otro....en que parte del head tienes incluido Jquery???.....prueba con eso; yo lo probé en local y le puse un alert a la función function frmCuponesSubmit() y si me tira el mensaje :mmm:

 

 

PS: Saludos :krider:

 

haber...weitate.. como que te tiro el mensaje... que alert le pusiste? y q mensaje se supone que te tiro? :S]

te tiro el mensaje de la funcion function finpromo ?

podrias ser mas detallado que no entendí bien

Link to comment
Share on other sites

Icaza....mi querido icaza :notonto:

 

Lo único que hice fue eso....incluir un alert en la función frmCuponesSubmit ;)

Era más que nada para saber si estaba llegando bien a la función....hice esto:

function frmCuponesSubmit()
{
alert('Hiiii, estoy en la oinche funcion :tonto:');
jQuery('#msjCupones').html();
jQuery('#frmCuponesTask').val( 'ingresar_check' );
postData = formToJSON('#frmCupones');
jQuery.post('index.php', postData, function(data) {
if( parseInt(data.error) == 1 ) {
jQuery('#msjCupones').html(data.errormsj);
}else {
jQuery('#frmCuponesTask').val( 'ingresar' );
jQuery('#frmCupones').submit();
}
}, "json");
jQuery('#frmCuponesTask').val('');
return false;
}

 

Si te fijas agregue un alert al inicio :otnot:

 

Como llega a la función y gatilla el alert, pues, entonces tu error tiene que ver con la lógica...prueba usando ajax en vez de jQuery.post.....como esto:

$.ajax({
  type: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});

 

Saludos :krider:

Link to comment
Share on other sites

Gracias AshWilliams pero estoy trabajando en joomla y ya tengo el plugin instalado para el Jquery "Jquery easy" y no sabria como trabajar con ajax dentro del joomla, o que plugin instalarle,
gracias de todas maneras me a servido mucho lo que todos me an escrito,
ahora e notado que el error viene de

postData = formToJSON('#frmCupones');
FormToJson no esta definido :(
aun no tengo bien claro como definirlo

PD: gracias ash

Edited by icaza
Link to comment
Share on other sites

Yo creo que va por un tema de orden, está muy la cagada en el código. Te recomiendo separar el javascript del html, por ejemplo: <script type="text/javascript" src="tu_archivo.js" >

 

Una vez ordenado eso anda viendo donde esta el error. La sintaxis puede ser la solución. Aparte usa mensajes para controla cada cosa dentro de tu codigo, por ejemplo cuando des click en un boton x con id="x" en tu archivo js lo llamas con la opcion: jquery("#x").click(function(){ alert("hice click aqui")})

 

Y ORDENA EL CODIGO !!

Link to comment
Share on other sites

Wena
ayer logre solucionar el tema, era claro que el joomla no tiene el jQuery incorporado por lo que instale el componente Jqueryeasy lo que soluciono el tema del jquery y en cuanto el formToJSON('#frmCupones');
tube que definirlon dentro de la misma pagina, y seria...
mil gracias a todos todos sus consejos ayudaron a ordenar y poder hacer pruebas ya me enseñeron bastante...
intentare estar mas pendiente al foro, ya que llevaba tiempo sin pasear por aqui, para ver si puedo servir de algo como uttes me sirvieron a mi
Reitero mi agradeciemiento y saludos

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...