2012-04-09 8 views
1

Hallo ich habe ein zend_form_element_submit erstellt. Jetzt möchte ich eine Bestätigungsmeldung anzeigen, wenn jemand auf Senden klickt. Und wenn der Benutzer ja oder ok wählt, sollte das Formular gesendet werden. Ich lese über Javascript confirm() -Funktion, aber fragte mich, ob es etwas von Zend zur Verfügung gestellt wird.Display-Bestätigungsmeldung beim Einreichen in zend php

Antwort

1

Sie können es mit Zend Framework tun, aber meiner Meinung nach ist es benutzerfreundlicher, JavaScript zu verwenden, um mit dieser Art von Sache umzugehen.

Zum Beispiel würden Sie einen jQuery-Dialog (modale Bestätigung) auslösen, sobald der Benutzer auf die Schaltfläche Senden klickt. More information about jQuery Dialog here.

+0

Dank für Anregung und Link. – Naphstor

+0

Gern geschehen;) – Liyali

0

Um dies zu tun, sollten Sie Ihre Zend_Form Unterklasse einen Bezeichner zuordnen und einen JavaScript Submit-Handler diesem Formular zuweisen.

Um eine id Form, verwenden Sie die setAttrib() Funktion in Ihrer Zend_Form::init() Funktion zuweisen:

/** 
* init the form 
*/ 
public function init() 
{ 
    $this->setAttrib('id', 'search-form'); 
    ..... 
} 

und dann können Sie mit diesem Ereignis Code Handhabung des Formulars einreichen Funktion außer Kraft zu setzen:

// submit search form 
$('form#search-form').submit(function() { 
     if (confirm("....")) { 
      return true; 
     } 
     return false; 
    }); 
0

In diesem Fall benötigen Sie die Komponente FlashMessenger. Sie können wählen, ob Sie die Nachrichten über direktes HTML oder über JavaScript rendern möchten.

FlashMessenger Action Helper

FYI: Sie können eine Teilansicht Vorlage erstellen, die nur gerendert wird, wenn es> 0 Nachrichten.

0

Auf der Schaltfläche Sie ein Attribut festlegen:

$button->setAttribute('onclick', 'if (confirm("Are you sure?")) { document.form.submit(); } return false;');