Heim  >  Artikel  >  Web-Frontend  >  So geben Sie demselben Formpanel in ExtJS4 unterschiedliche URLs

So geben Sie demselben Formpanel in ExtJS4 unterschiedliche URLs

WBOY
WBOYOriginal
2016-05-16 16:50:251238Durchsuche

formpanel kann so verwendet werden, das Beispiel auf der API:

Code kopieren Der Code lautet wie folgt:

var panel =Ext.create('Ext.form.Panel', {
title: 'Simple Form',
bodyPadding: 5,
width: 350,

// wird AJAX übergeben. Senden Sie die Anfrage an diese URL
//url: 'save-form.php',

// Die Formularfelder. Die Felder werden vertikal angeordnet und nehmen die gesamte Breite ein
Layout: 'anchor',
defaults: {
anchor: '100%'
},

// Die Felder
defaultType: 'textfield',
items: [{
fieldLabel: 'First Name',
name: 'first',
allowBlank: false
},{
fieldLabel: 'Last Name',
name: 'last ',
allowBlank : false
}],

// Schaltflächen zum Zurücksetzen und Speichern
Schaltflächen: [{
text: 'Zurücksetzen',
handler: function( ) {
this.up('form').getForm().reset();
}
}, {
text: 'Speichern',
formBind: true, // erst aktiviert, wenn das Formular gültig ist
disabled: true,
handler: function() {
var form = this.up('form').getForm();
if (form.isValid ()) {
form.submit({
success: function(form, action) {
Ext.Msg.alert('Save Successful', action.result.msg);
},
Fehler: function(form, action) {
Ext.Msg.alert('Operation failed', action.result.msg);
}
}
}],
renderTo: Ext.getBody()
);


Wenn man sich die API ansieht, hat das Formpanel keine URL-Konfiguration und keine Funktion zum Abrufen der API . . Ich denke, es sollte ein Parameter der übergeordneten Klasse des Formpanels sein. .

Später habe ich einen Blick auf ext.form.basic geworfen, und tatsächlich gibt es dort ein URL-Konfigurationselement. .

In Ext speichert FormPanel keine Formulardaten. Beim Absenden eines Formulars müssen Sie das BasicForm im aktuellen FormPanel zum Absenden abrufen Objekt kann zum Senden des Formulars verwendet werden

Da im Projekt zwei Komponenten verwendet werden müssen, besteht der einzige Unterschied zwischen diesen beiden Komponenten darin, dass die übermittelte URL unterschiedlich ist, daher habe ich die URL bei der Definition nicht definiert die Komponente. Dieses Element

und fügen Sie dann verschiedene URLs hinzu, wenn die Komponente zu verschiedenen Containern hinzugefügt wird. Nehmen Sie das obige Beispiel als Beispiel

, wo nötig




Code kopieren
Der Code lautet wie folgt: panel.getForm().url='../LogSelectServlet';//In different Orten können wie folgt unterschiedliche URLs zugewiesen werden
Diese Methode ist eine gute Möglichkeit, Komponenten wiederzuverwenden.
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn