ActiveForm des modalen Popup-Fensters yii2 implementiert die asynchrone Formularüberprüfung von Ajax

*文
Freigeben: 2023-03-18 21:24:01
Original
1829 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die relevanten Informationen zur ActiveForm-Ajax-Formularüberprüfung des yii2-Modal-Popup-Fensters vor. Er ist sehr gut und hat Referenzwert. Ich hoffe, es hilft allen.

Lassen Sie uns eine einfache Erklärung geben, wie yii2 ActiveForm Formulare in Ajax übermittelt, was auch der Schwerpunkt unseres heutigen Themas ist.

In yii2 führt ActiveForm standardmäßig eine clientseitige Überprüfung durch, die Formularübermittlung erfolgt jedoch nicht ohne Aktualisierung. Das heißt, es kommt häufig vor, dass die Seite nach dem Absenden des Formulars aktualisiert wird. Wenn Sie den aktualisierungsfreien Modus aktivieren möchten, müssen Sie nur „enableAjaxValidation“ in ActiveForm aktivieren, wie unten gezeigt

<?php $form = ActiveForm::begin([
&#39;id&#39; => &#39;form-id&#39;,
&#39;enableAjaxValidation&#39; => true,
]
); ?>
Nach dem Login kopieren

Beachten Sie, dass weder id noch enableAjaxValidation fehlen.

Sehen wir uns die serverseitige Implementierung an

if ($model->load(Yii::$app->request->post())) {
Yii::$app->response->format = yii\web\Response::FORMAT_JSON;
if ($errors = \yii\widgets\ActiveForm::validate($model)) {
return $errors;
} else {
if($model->save(false)) {
return $this->redirect([&#39;index&#39;]); 
}
}
}
return $this->render(&#39;create&#39;, [
&#39;model&#39; => $model,
]);
Nach dem Login kopieren

Auf diese Weise können wir einfach das asynchrone Nicht-Aktualisierungs-Übermittlungsformular von yii2 implementieren!

Eigentlich spielt es keine Rolle, ob ich es sage oder nicht. Es wurde hauptsächlich als Referenz für einige faule Leute geschrieben. Kluge Leute werden nach der Lektüre des Titels verstehen, wie das Problem der modalen Formularübermittlung über ActiveForm gelöst werden kann.

Um mit Modal kompatibel zu sein, beachten Sie bitte, dass es sich hier um Kompatibilität und nicht um Implementierung handelt. Wir haben einige geringfügige Änderungen am Programm vorgenommen, die nur Referenzzwecken dienen.

if ($model->load(Yii::$app->request->post())) {
if ($model->save()) { 
if (Yii::$app->request->isAjax) {
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
return [&#39;success&#39; => true];
}
return $this->redirect([&#39;index&#39;]);
} else {
if (Yii::$app->request->isAjax) {
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
return \yii\widgets\ActiveForm::validate($model);
}
}
}
if (Yii::$app->request->isAjax) {
return $this->renderAjax(&#39;create&#39;, [
&#39;model&#39; => $model,
]);
} else {
return $this->render(&#39;create&#39;, [
&#39;model&#39; => $model,
]);
}
Nach dem Login kopieren

Verwandte Empfehlungen:

So verwenden Sie Join und Join mit Abfragen für mehrere Tabellen in Yii2

Yii2 implementiert die QQ-Internetanmeldung

Yii2 implementiert die Rbac-Berechtigungssteuerung

Das obige ist der detaillierte Inhalt vonActiveForm des modalen Popup-Fensters yii2 implementiert die asynchrone Formularüberprüfung von Ajax. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!