strip_tags remove ent_quotes ejemplo php ajax yii ajaxsubmit

php - remove - Desconectar alertas al hacer clic en el botón



strip_tags() (9)

Cuando hago clic en el botón, las alertas no se realizan. ¿Qué estoy haciendo mal? Tal vez necesito incluir algunos archivos js en mi sección de encabezado?

Aquí está mi vista de formulario de inicio de sesión:

<?php echo CHtml::beginForm(); ?> <div class="row"> <?php echo CHtml::label(''username'', ''username''); ?> <?php echo CHtml::textField(''username''); ?> </div> <div class="row"> <?php echo CHtml::label(''password'', ''password''); ?> <?php echo CHtml::textField(''password''); ?> </div> <?php echo CHtml::ajaxButton(''sign in'', array(''site/login''),array( ''type''=>''POST'', ''update''=>''#mydiv'', ''beforeSend'' => ''function(){ alert("beforeSend"); }'', ''complete'' => ''function(){ alert("complete"); }'', )); ?> <?php echo CHtml::endForm(); ?> <div id="mydiv" style="color:white;">...</div>

Aquí está mi código en el controlador:

public function actionLogin() { $this->renderPartial(''//blocks/user_info''); }

user_info simplemente hace eco de some text


¿Funciona antes de enviar? ¿Qué pasa si prueba el "éxito" en lugar de "completar"?



Tengo este problema (¿error?) También. Intente cambiar ''beforeSend'' y otras devoluciones de llamada en esta vista:

''beforeSend'':''js:alert("complete");''

sin "function () {}" y con "js".

PD: Lo siento, mi inglés es malo (


prueba esto

this->renderPartial(''//blocks/user_info'','''', false, true);


Este es un simple ejemplo del botón Enviar de Yii Ajax:

<?php echo CHtml::ajaxSubmitButton( ''Submit'', ''your-url'', array( ''type''=>''POST'', ''dataType''=>''json'', ''success''=>''js:function(data){ if(data.result==="success"){ // do something on success, like redirect }else{ $("#some-container").html(data.msg); } }'', ) ); ?>

Más detalles en http://www.codexamples.com/90/chtml-ajaxsubmitbutton/


Ajax submit button a la vista:

echo CHtml::ajaxSubmitButton(''Save'', array(''/controller/action/id/'' . $id), array( ''type'' => ''post'', ''dataType'' => ''json'', ''update'' => ''#mydiv'', ''beforeSend'' => ''function(){}'', ''complete'' => ''function(){}'', ''success'' => ''js:function(data){ if(data.status=="1"){ html = "<div class=/"alert in alert-block fade alert-success/"><a class=/"close/" data-dismiss=/"alert/">x</a>"+data.msg+"</div>"; $("#status-msg").html(html); }else{ html = "<div class=/"alert in alert-block fade alert-error/"><a class=/"close/" data-dismiss=/"alert/">x</a>"+data.msg+"</div>"; $("#status-msg").html(html); } }'', ), array(''class'' => "btn btn-primary") );

En la acción del controlador:

$return = array(); $return[''status''] = ''1''; $return[''msg''] = ''Record Updated Successfully''; echo CJSON::encode($return); Yii::app()->end();

Cambiar la matriz de devolución según el requisito.


Debe establecer el cuarto parámetro de la función renderPartial en verdadero, de modo que Yii incluya los archivos JS necesarios para el correcto funcionamiento de la vista.

$this->renderPartial(''_form'',array(''model''=>$model), false, true);


en mi código funciona, prueba esto

<?php echo CHtml::ajaxSubmitButton(''Save'',''your-url'',array( ''type''=>''POST'', ''dataType''=>''json'', ''success''=>''js:function(data){ if(data.result==="success"){ // do something on success, like redirect }else{ $("#some-container").html(data.msg); } }'', )); ?>


En la función del controlador necesita enviar 3 parámetros más (4 parámetros en total)

tu función será así

public function actionLogin() { this->renderPartial(''//blocks/user_info'','''',false,true); }