Yii Framework Forum: [Risolto] Update: Chiedere Conferma All'utente Via Javascript ? - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

[Risolto] Update: Chiedere Conferma All'utente Via Javascript ? Rate Topic: ***-- 1 Votes

#1 User is offline   realtebo 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 700
  • Joined: 03-October 12
  • Location:Ferrara

Posted 16 October 2012 - 04:04 AM

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 ?
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#2 User is offline   zaccaria 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 2,232
  • Joined: 04-October 09
  • Location:Moscow

Posted 16 October 2012 - 04:11 AM

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.
1

#3 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,987
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 16 October 2012 - 04:15 AM

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>

1

#4 User is offline   realtebo 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 700
  • Joined: 03-October 12
  • Location:Ferrara

Posted 16 October 2012 - 04:21 AM

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 ?
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#5 User is offline   zaccaria 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 2,232
  • Joined: 04-October 09
  • Location:Moscow

Posted 16 October 2012 - 06:24 AM

A me sembra perfetto, da esposizione!
0

#6 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,987
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 17 October 2012 - 05:27 AM

 return confirm("Davvero ?")
mi piace da matti XD.
Si direi che è perfetto.
0

#7 User is offline   realtebo 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 700
  • Joined: 03-October 12
  • Location:Ferrara

Posted 17 October 2012 - 05:55 AM

View Postsensorario, on 17 October 2012 - 05:27 AM, said:

 return confirm("Davvero ?")
mi piace da matti XD.
Si direi che è perfetto.


Eh, eh, ... in produzione ovviamente c'è un Yii::t ;D
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users