質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

11759閲覧

validationEngineエラーの有無判定について

MIKA00

総合スコア8

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2017/04/04 03:02

###前提・実現したいこと
validationEngineを使用しているのですが、エラー表示がなくなったタイミングで送信ボタンをアクティブにしたいです。

###該当のソースコード

<form action="" method="post" id="form1" name="send"> <input type="hidden" name="UserID" value="hinata"> <input type="hidden" name="MagazineID" value="64"> <input type="hidden" name="HTMLMail" value="1"> <input type="hidden" name="MoreItem" value="1"> <div id="mailwrap"> <div id="address_area"> <p>お名前をご入力ください。</p> <p><input type="text" name="name" class="input1 validate[required]"></p> <p>メールアドレスをご入力ください。</p> <p><input type="email" name="email" class="input3 validate[required,custom[email]] mail-address"></p> </div><!-- end address_area --> </div><!-- end meilma-wrap --> <input type="image" alt="送信" src="image/btn.png" class="btn" id="send_button" disabled="disabled"> </form>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

質問者さんが使用しているvalidationEngineがjQuery-Validation-Engineならば、以下のように行ってはいかがでしょうか?

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="utf-8"> 5 <title>タイトル</title> 6 <link rel="stylesheet" 7 href="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/validationEngine.jquery.min.css"> 8 <style type="text/css"> 9 * { 10 margin: 0; 11 padding: 0; 12 } 13 </style> 14</head> 15<body> 16<form action="page.php" method="post" id="form1" name="send"> 17 <input type="hidden" name="UserID" value="hinata"> 18 <input type="hidden" name="MagazineID" value="64"> 19 <input type="hidden" name="HTMLMail" value="1"> 20 <input type="hidden" name="MoreItem" value="1"> 21 <div id="mailwrap"> 22 <div id="address_area"> 23 <p> 24 <label>お名前をご入力ください。 25 <input type="text" name="name" class="input1 validate[required]"> 26 </label> 27 </p> 28 <p> 29 <label>メールアドレスをご入力ください。 30 <input type="email" name="email" class="input3 validate[required,custom[email]] mail-address"> 31 </label> 32 </p> 33 </div><!-- end address_area --> 34 </div><!-- end meilma-wrap --> 35 <input type="image" alt="送信" src="image/btn.png" class="btn" id="send_button" disabled="disabled"> 36</form> 37<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> 38<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/jquery.validationEngine.min.js"></script> 39<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/languages/jquery.validationEngine-ja.min.js"></script> 40<script> 41 $(function () { 42 $("#form1").validationEngine("attach", {focusFirstField: false}); 43 44 $("input").on("input", function () { 45 if ($("#form1").validationEngine("validate")) { 46 $("#send_button").prop("disabled", false); 47 } else { 48 $("#send_button").prop("disabled", true); 49 } 50 }); 51 52 $("#send_button").on("click", function () { 53 if ($("#form1").validationEngine("validate")) { 54 $("#form1").submit(); 55 } 56 }); 57 }); 58</script> 59</body> 60</html>

#追記

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="utf-8"> 5 <title>タイトル</title> 6 <link rel="stylesheet" 7 href="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/validationEngine.jquery.min.css"> 8 <style type="text/css"> 9 * { 10 margin: 0; 11 padding: 0; 12 } 13 </style> 14</head> 15<body> 16<form action="page.php" method="post" id="form1" name="send"> 17 <input type="hidden" name="UserID" value="hinata"> 18 <input type="hidden" name="MagazineID" value="64"> 19 <input type="hidden" name="HTMLMail" value="1"> 20 <input type="hidden" name="MoreItem" value="1"> 21 <div id="mailwrap"> 22 <div id="address_area"> 23 <p> 24 <label>お名前をご入力ください。 25 <input type="text" name="name" class="input1 validate[required]"> 26 </label> 27 </p> 28 <p> 29 <label>メールアドレスをご入力ください。 30 <input type="email" name="email" class="input3 validate[required,custom[email]] mail-address"> 31 </label> 32 </p> 33 </div><!-- end address_area --> 34 </div><!-- end meilma-wrap --> 35 <input type="image" alt="送信" src="" class="btn" id="send_button" disabled="disabled"> 36</form> 37<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> 38<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/jquery.validationEngine.min.js"></script> 39<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-Validation-Engine/2.6.4/languages/jquery.validationEngine-ja.min.js"></script> 40<script> 41 $(function () { 42 $("#form1").validationEngine("attach", {focusFirstField: false}); 43 44 $("input").on("input", function () { 45 if ($("#form1").validationEngine("validate")) { 46 $("#send_button").prop({"disabled": false, "src": "image/btn.png"}); 47 } else { 48 $("#send_button").prop({"disabled": true, "src": ""}); 49 } 50 }); 51 52 $("#send_button").on("click", function () { 53 if ($("#form1").validationEngine("validate")) { 54 $("#form1").submit(); 55 } 56 }); 57 }); 58</script> 59</body> 60</html>

投稿2017/04/04 03:57

編集2017/04/04 04:59
s8_chu

総合スコア14731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MIKA00

2017/04/04 04:51

意図している動きができました!ありがとうございます。 これに追加で、$("#send_button").prop("disabled", true);になった時のみボタン画像を「image/btn.png」にするといったことは可能なのでしょうか?
s8_chu

2017/04/04 05:10

可能です。追記させていただきました。
MIKA00

2017/04/04 07:01

ありがとうございます!無事実装できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問