share facebook facebook twitter menu hatena pocket slack

2012.02.06 MON

MT5 記事編集画面 jQueryで入力チェックを入れた際のsubmitの挙動

齋藤 充裕

WRITTEN BY 齋藤 充裕

こんにちは。
職人見習いの齋藤です。

ある案件でMT5の記事編集画面に用意したカスタムフィールドに
入力チェックを加える必要があったので、MTAppjQuery プラグインをインストールし、
form の submit()(更新ボタン押下時)に入力内容をチェックし、
問題があった場合は return false で submit をキャンセルさせ、
入力内容を修正するまで submit を無効にするという処理を追加しました。

実際に動作を確認してみると、入力チェックで submit をキャンセルするという動作は
問題なく行われたのですが、キャンセル後に再度更新ボタンを押下しても
submit が動作しないという現象が発生しました。
特にスクリプトでのエラーも見られず、その他の機能は問題なく動作していたのですが、
更新ボタン右のプレビューボタン(同じくsubmit)も動作しなくなっていました。

処理のタイミングや内容等を変更してみてもなかなか改善しなかったのですが、
下記の方法を試してみたところ、現象を回避することができました。

  • 処理をform.submit()ではなく
    $(“カスタムフィールド名のid”).blur(function(){~にする
  • submit を無効にするのではなく、
    更新ボタンを hide() で非表示にする(今回はプレビューボタンも一緒に非表示に)
  • 入力内容を修正し、問題ない場合は
    更新ボタンを show() で表示する(プレビューボタンも同様)

もし同じような現象が起きた際には上記の方法を試してみてください。

動作としては目的のものが実現できましたが、現象の根本的な解決にはなっていないので
引き続き原因を調査したいと思います。

※この記事は、なかの人(Iret_msaito)が書いています。

齋藤 充裕

齋藤 充裕

PHPをメインに細々開発。主食は麺。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。