2016-06-28 5 views
1

Ich habe HTML für E-Mail-Vorlage in der Datenbank behoben.Fügen Sie Javascript über Controller-Aktion zf2

Und ich mag umleiten zu einem gewissen Seite mit Formulardaten auf den Taste Klick von Controller-Aktion vorzulegen.

In $htmlOutput habe ich das HTML. Und ich angehängt Skript wie folgt,

$htmlOutput.=' 
<script> 
    $(document).ready(function(){ 
    $(document).find("#buttonSubmit").click(function() { 
     console.log("clicked"); 
    }); 
}); 
</script>'; 

Aber es funktioniert nicht. Wo liege ich falsch?

+0

also können Sie diese 'Konsole'-Anweisung in Ihrer Browser-Konsole beim Klicken auf Senden-Schaltfläche sehen? – vijayP

+0

Nein. Nichts passiert. Das Skript wird mit dem HTML als Zeichenfolge angezeigt. @ vijayP –

Antwort

1

Gerade echo hinzufügen $htmlOutput Wert DOM

echo $htmlOutput.=" 
<script type='text/javascript'> 
    $(document).ready(function(){ 
    $(document).find('#buttonSubmit').click(function() { 
     console.log('clicked'); 
    }); 
}); 
</script>"; 

Ich nehme an, Sie haben $htmlOutput=""; oder etwas hinzufügen zu verketten.

+0

Danke für die Antwort. Aber ohne 'echo' ist das Skript im letzten mit HTML-String-Inhalt verfügbar (showing). Echo hat bei mir nicht funktioniert. @Rishi –

+0

versuchen Sie es erneut, ich aktualisierte mein ans – C2486

+0

'

"' es zeigt so. In der Konsole von inspect Element. Funktioniert nicht. –

1

Für die Übergabe des Fangformulars müssen Sie die Methode .submit verwenden, nicht klicken.

$(document).find('#buttonSubmit').submit(function (e) { 
console.log('submited!'); 
e.preventDefault(); 
}); 

P.S. Und ich bin mir nicht sicher, ob Sie das Skript im ZF2-Kontext korrekt anhängen, es muss in der Formularklasse, im Formular/Element-Dekorator oder in der Ansicht sein.

+0

Gefunden eine andere Weise, Redirect. Vielen Dank für Ihre Zeit. –