realtebo
(Mirkotebaldi)
October 16, 2012, 9:04am
1
Nella view _form ho il classico pulsante di conferma, customizzato giusto per sfizio in base all’azione
<?php echo CHtml::submitButton($model->isNewRecord ? Yii::t('general','Crea') : Yii::t('general','Salva'), array('class'=>'mws-button green') ); ?>
Ora mi ritrovo che sta cosa mi serve, perchè devo fare quanto segue:
se (!$model->isNewRecord) e ($model->isActive == 0 ) {
chiedi via jascript conferma con classico prompt OK/No
se si, salva e setta isActive=0 nei record figli (le causali)
} altrimenti {
submit e basta
}
Immagino che devo spostare l’if, questo lo capisco.
La prima domanda è: come faccio a determinare lo stato ‘live’ di isActive? (via jquery immagino… se è così ci dovrei riuscire da solo)
La seconda domanda è: come posso impostare una conferma via javascript sul submit ?
zaccaria
(Matteo Falsitta)
October 16, 2012, 9:11am
2
Secondo me puoi tenera la if in php, e se e’ il caso di chiedere aggiungi al bottone:
<?php echo CHtml::submitButton('...', array('class'=>'mws-button green', 'confirm'=>'Sei sicuro?') ); ?>
Vedi le opzioni aggiuntive nel clientChange.
sensorario
(Sensorario)
October 16, 2012, 9:15am
3
Il codice viene eseguito se e solo se quel metodo restituisce true. Quel metodo che cosa fa? Mostra una finestra javascript particolare che può restituire true o false a seconda che si prema il pulsante OK oppure CANCEL.
<script>
if (confirm('Sicuro di voler fare sta cosa?')) {
// codice ...
}
</script>
realtebo
(Mirkotebaldi)
October 16, 2012, 9:21am
4
Così funziona (ho messo insieme i vostri due consigli)
if ($model->isNewRecord)
echo CHtml::submitButton(Yii::t('general','Crea'),
array('class'=>'mws-button green') );
else
echo CHtml::submitButton(Yii::t('general','Salva'),
array('class'=>'mws-button green',
'onclick' => 'if ($("#CausalType_isActive").is(":checked")) return true; else return confirm("Davvero ?") ' ) );
Migliorie ?
zaccaria
(Matteo Falsitta)
October 16, 2012, 11:24am
5
A me sembra perfetto, da esposizione!
sensorario
(Sensorario)
October 17, 2012, 10:27am
6
return confirm("Davvero ?")
mi piace da matti XD.
Si direi che è perfetto.
realtebo
(Mirkotebaldi)
October 17, 2012, 10:55am
7
Eh, eh, … in produzione ovviamente c’è un [font=“Courier New”]Yii::t[/font]