Formulareingabe mit individuellem Dialog bestätigen

Hallo Entwicklergemeinde,

komme gerade nicht so wirklich weiter. Ich würde gerne den Inhalt eines Formulars vor dem Speichern nochmal bestätigen lassen. D.h. ein Benutzer hat die Felder eines Formulars korrekt ausgefüllt und soll nun nochmal die Eingabe in einem Dialog angezeigt bekommen, welche dann vor Speicherung bestätigt werden (oder auch nicht…).

Der Ansatz mit dem Confirm-Parameter im SubmitButton ist nicht besonders ergiebig:


<?php

echo CHtml::submitButton('Speichern', array('confirm'=>"Möchten Sie jetzt speichern?"))

?>



Ich vermute mal, dass ich in der View ein "Dialog" - Widget einbauen muss, welches ein View aufruft, in dem ich die Daten nochmal anzeigen kann und diese dann mit der Bestätigung auch speichere bzw. bei einem Abbruch wieder auf die Formularseite zurück gelange?!

Soetwas in der Art:




<?php 

        $this->beginWidget('zii.widgets.jui.CJuiDialog', array( // the dialog

                		'id'=>'bestaetigungsdialog',

            			'options'=>array(  'autoOpen'=>false, 'modal'=>true, ),

		));		

		echo '<div class="divForBestaetigung"></div>';

		$this->endWidget();

?>


<script type="text/javascript">	

    function bestaetigung(){

    <?php echo CHtml::ajax(array(

        'url'		=> CHtml::normalizeUrl(array('data/bestaetDialogView')),

        'data'		=> "js:$(this).serialize()",

        'type'		=> 'post',

        'dataType'	=> 'json',

        'success'	=> "function(data){

          if (data.status === 'failure'){

 			$('#bestaetigungsdialog div.divForBestaetigung').html(data.div);

 			$('#bestaetigungsdialog').dialog( 'open' );

          }

   	}",

    ))?>;

return false; 		

}

</script>    



Habe aber noch keine Ahnung wie ich mit dem SubmitButton diesen Dialog aufrufe… also dass der Button nicht speichert, sondern erst nochmal den Zwischenschritt über den Dialog macht…

Würdet ihr ebenfalls diesen Ansatz verfolgen, oder habt ihr etwas anderes was sich besser eignet, vielleicht mit einem Beispiel/CodeSnippets…

Vielen Dank für Unterstützung und Vorschläge

Grüße badi

Gib dem Button doch eine id und registriere per JQuery ein Click-Event auf diesen, in dem kannst du dann dein View aufrufen, oder was auch immer du machen möchtest.