2016-12-16 1 views
1

これはthis old, unanswered questionと非常によく似ています。jQueryのポップアップダイアログでChromeのhtml5フォームの検証

フォームが埋め込まれたjQueryダイアログボックスがあります。私のサイトの残りのフォームはhtml5ブラウザ機能を利用しているので、必要なフォーム要素のエラーメッセージをポップアップフォームで同じにします。ブラウザバリデーションポップアップのフォーマットを模倣するための自分の妥当性検証を書いていないのは、誰でもChromeがjQueryダイアログボックス内の検証を行う方法を考えることができますか?

ここにコードがあります。 html5 required属性が要素に表示され、ユーザーエラーとマークされています。これはChromeによって認識されていないだけです。

var form = dialog.find('form'); 
if (!$('#formElement')[0].checkValidity()) { 
    if (element.prop('type') != 'submit') { 
     form.find(':submit').first().trigger('click'); 
    } 
    return; 
} 
$('#action').trigger('click'); 

ご協力いただきありがとうございます!

答えて

0

ここに1つのヒント&トリックです。

  1. HTML5の検証は、すべてのケースでは良くないと失敗する可能性があります。
  2. 多くのポップアップ、ダイナミックフォームなどがある複雑なウェブサイトでは、制御権がないためHTML5検証のみを使用することはできません。
  3. Crome、Mozilla、Safari、Opera、Explorer(Edge)、モバイルブラウザ(CM、UC、Dolphin、Rocket、Yandex、Puffin、Brave、Crome ...)は異なる働きをします。各ブラウザはルールとサポートのために何らかの方法でブラウザに表示されます。これらのブラウザの多くはWebKit上にありますが、動作は同じではありません。
  4. あなたのプロジェクトでは、検証のためにいくつかのjQueryライブラリを使用する方がいいでしょう。私の側から

は、コンテンツ、クローズダイアログを開き、新しいダイアログまたはwathever希望を、フォームに記入jQueryを使って特定のイベントにそのフォームを検証切り替え、ダイアログを作りました。より速く、より良いです。

+0

ありがとう、Ivijan!私はこれが事実かもしれないと思った、ちょうどいくつかの回避策があるかどうかを見たいと思った。とても有難い! – MJGogo