confirm en jquery_ajax() - ysJQueryRevolutionsPlugin

23 views
Skip to first unread message

Jos

unread,
Jan 3, 2010, 8:20:18 PM1/3/10
to symfo...@googlegroups.com
uso el helper jquery_ajax() y me funciona muy bien, pero quiero que aparezca un "confirm" antes que se ejecute el llamado ajax? 

mi codigo es el siguiente:

<?php echo jquery_ajax(array(
            'listener' => array(
                'selector' => '#registro-'.$registro->getId(),
                'event' => 'click'),
            'url' => url_for('ingresar', $registro),
            'type' => 'GET',
            'complete' => like_function("jQuery('#registro-".$registro->getId()."').fadeOut('fast')"),
            'async' => 'true',
            'error' => like_function("alert('error')")));
      ?>



--
 Jose Vargas Paz
   AKA:   ejosvp
http://ejosvp.ok.pe

oyepez003

unread,
Jan 4, 2010, 2:46:25 PM1/4/10
to symfony-es
La opcion confirm no esta dentro de las opciones de ajax de jquery:


http://docs.jquery.com/Ajax/jQuery.ajax#toptions


Pero es muy buena to observacion y seria muy util agregar esta
funcionalidad por lo que veras ese cambio en el changelog del
plugin.....


Por ahora puedes hacer lo siguiente:

<?php echo add_jquery_support('#registro-'.$registro->getId(),
'click', 'ajaxConfirm'); ?>

<script type="text/javascript">

function ajaxConfirm(){
if(confirm('Tu pregunta?')){

<?php echo jquery_ajax(array(


'url' => url_for('ingresar', $registro),

'complete' => like_function("jQuery('#registro-".

$registro->getId()."').fadeOut('fast')") ,


'error' => like_function("alert('error')"))); ?>

}else{
alert('Ajax no enviado')
}
}
<script>

P.D. Disculpa si hay algun error en la sintaxis es que escribi el
codigo directamente en la pagina y no en un IDE
por que no estoy en casa.

Elimine la opcion type y async ya que esos son los valores por
defectos entonces no hay necesidad de colocarlos....

Cualquier otra duda aqui estaremos...

Saludos.

Omar Yepez.
www.yepsua.com

Jos

unread,
Jan 4, 2010, 3:51:55 PM1/4/10
to symfo...@googlegroups.com
gracias por la respuesta, no había pensado en ello! ;)

--

Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a symfo...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a symfony-es+...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/symfony-es?hl=es.


oyepez003

unread,
Jan 5, 2010, 3:47:03 PM1/5/10
to symfony-es
Ya se creo la funcionalidad que Jos ha sugerido y se agrego tres
opciones... en total serian 4 opciones que se pueden pasar a la
funcion jquery_ajax o a la funcion jquery_ajax_form

'confirmation' =>
El mensaje de confirmación / un string...
'onNoConfirmation' =>
Si no se confirma el mensaje / un string /
Puede ser codigo javascript, el nombre de una funcion javascript o
algun otro helper de jquery....
'condition' =>
Condicion del lado del cliente / un string /
Puede ser codigo javascript, el nombre de una funcion javascript o
algun otro helper de jquery....
'onFailureCondition' =>
Si no se cumple la condicion / un string /
Puede ser codigo javascript, el nombre de una funcion javascript o
algun otro helper de jquery....

Todos son opcionales....

El ejemplo es el siguiente:
Se valida la condicion y la confirmacion si no se cumple alguna
muestra un alert dependiendo de lo que haya fallado..... si nada falla
envía la petición ajax....


jquery_ajax

<?php echo jquery_ajax(array(
'listener' => array(

'selector' => '#jQuerySelector',
'event' => 'click'),
'url' => url_for('module/action'),
'confirmation' => 'Do you want ajax submit',
'onNoConfirmation' => 'alert("Not submitted")',
'condition' => '$("#checkboxId").attr("checked") == true',
'onFailureCondition' => 'alert("Check the submit
option")',
'dataType' => 'json' )) ?>

jquery_ajax_form

<?php
echo jquery_ajax_form(
'#formId',
array(
'url' => url_for('module/action'),
'confirmation' => 'Do you want ajax submit',
'onNoConfirmation' => 'alert("Not submitted")',
'condition' => '$("#chkCondition").attr("checked") == true',
'onFailureCondition' => 'alert("Check the submit option")',
'type' => 'POST')) ?>


No importa el orden en que se pasen la opciones, siempre se valida la
condicion primero y luego la confirmacion....

Todos los cambios serán publicados exporadicamente pero pueden estar
actualizados via svn ... entre hoy y mañana subiremos los cambios de
los plugins....

Saludos cordiales....

Omar Yepez
http://www.yepsua.com

On 4 ene, 16:51, Jos <ejo...@gmail.com> wrote:
> gracias por la respuesta, no había pensado en ello! ;)
>

> > symfony-es+...@googlegroups.com<symfony-es%2Bunsubscribe@googlegrou ps.com>

Reply all
Reply to author
Forward
0 new messages