ホームページ ウェブフロントエンド jsチュートリアル TinyMCE が AjaxForm を送信してデータの取得に失敗する solution_javascript スキル

TinyMCE が AjaxForm を送信してデータの取得に失敗する solution_javascript スキル

May 16, 2016 pm 04:10 PM
tinymce 提出する データ 得る 解決

この記事では、TinyMCE が AjaxForm を送信するときにデータを取得できない問題の解決策を分析します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

AjaxForm を使用する前に、コメント投稿用の小さな Web フォームを作成し、コメントの内容を TinyMCE を使用して編集しました。ユーザー エクスペリエンスを少し向上させるには、AjaxForm を使用して Ajax 送信を実装します。しかし、予想外のことが起こりました。つまり、最初に送信するたびに、AjaxForm は現在編集されているコメントの内容、つまり TextArea の内容を取得できなくなります。TextArea の内容を送信するには、もう一度 [送信] をクリックする必要があります。

重要なのは、TinyMCE 上のコンテンツは送信前に TextArea に更新されないということです。そこで、送信前にAjaxFormにイベントバインディングがあるかどうかを確認したかったのですが、beforeSubmitイベントにformDataの内容が入力されていることがわかりました。ここで現在のTinyMCEの内容を入力できるのですが、そうではないようにいつも感じます。とてもきれいな解決策。

この問題を解決する他の方法があるかどうかを調べるために、AjaxForm のソース コードを確認したところ、AjaxForm の作成者がこの問題に対する統一された解決策を提案していることがわかりました。

1. js コードは次のとおりです。

コードをコピー コードは次のとおりです:
// フォーム データを抽出する前に操作するためのフック;
// tinyMCE や FCKEditor
などのリッチ エディターで使用すると便利です varveto = {};
this.trigger('form-pre-serialize', [this, options, veto]);
if (veto.veto) {
log('ajaxSubmit: form-pre-serialize トリガー経由で精査された送信');
これを返します;
}

2. FCKEditor と同様:
コードをコピー コードは次のとおりです:
// 'ajaxForm' を使用してフォームをバインドします
$('#commentForm').ajaxForm(options);
// form-pre-serialize イベントをバインドし、form-serialize イベントをトリガーする前に tinyMCE データをテキストエリアに保存します
$('#commentForm').bind('form-pre-serialize', function(event, form, options, veto) {
tinyMCE.triggerSave();
});

この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

PNPMおよびMonorepoプロジェクトでローカルパッケージのバージョンを指定するにはどうすればよいですか? PNPMおよびMonorepoプロジェクトでローカルパッケージのバージョンを指定するにはどうすればよいですか? Apr 04, 2025 pm 04:06 PM

PNPMおよびMonorepoプロジェクトでローカルパッケージのバージョンを指定する方法PNPMとMonorepoを使用してプロジェクトを管理する際には、プロジェクト間でローカルエリアを共有する必要性が発生します...

ストリームで動作するときにRXJSコードが有効にならないのはなぜですか? ストリームで動作するときにRXJSコードが有効にならないのはなぜですか? Apr 04, 2025 pm 06:27 PM

RXJSを使用してストリームで動作する場合、なぜコードが有効にならないのですか? rxjsを学ぶ...

XPathを使用して、JavaScriptの指定されたDOMノードから検索する方法は? XPathを使用して、JavaScriptの指定されたDOMノードから検索する方法は? Apr 04, 2025 pm 11:15 PM

JavaScriptのDOMノードの下でのXpath検索方法の詳細な説明、XPath式に基づいてDOMツリーから特定のノードを見つける必要があることがよくあります。あなたがする必要があるなら...

SFTP.JSON構成後にダウンロードできないサーバーファイルの理由とソリューションは何ですか? SFTP.JSON構成後にダウンロードできないサーバーファイルの理由とソリューションは何ですか? Apr 04, 2025 pm 06:54 PM

SFTP.JSONファイルを構成した後、SFTP.JSON構成後にサーバーファイルをダウンロードできないという問題の解決策は、ターゲットサーバーファイルをダウンロードできないことに遭遇する可能性があります...

要素プラステーブルコンポーネント最大高さは無効ですか?テーブルを高度に適応性のあるものにし、スクロールバーを表示するにはどうすればよいですか? 要素プラステーブルコンポーネント最大高さは無効ですか?テーブルを高度に適応性のあるものにし、スクロールバーを表示するにはどうすればよいですか? Apr 04, 2025 pm 04:03 PM

ElementPlusテーブルコンポーネントのMax-Height属性障害とソリューションは、要素を使用することです...

opencv.js投影変換の結果が空白の透明な画像であるという問題を解決する方法は? opencv.js投影変換の結果が空白の透明な画像であるという問題を解決する方法は? Apr 04, 2025 pm 03:45 PM

opencv.js投影変換の結果で透明な画像の問題を解決する方法は空白です。画像処理にopencv.jsを使用する場合、投影変換後に画像に遭遇することがあります...

See all articles