発生している問題
幾つかのテキストボックスの入力内容を、入力時と送信ボタン押下時の2パターンで検査したいとき、
送信ボタンを押したときに4つの関数を一つのイベントハンドラで呼び出すにはどうすればよいでしょうか。
該当のソースコード
lang
1 2const checkNo = function(){// 処理} 3const checkName = function(){// 処理} 4const checkSex = function(){// 処理} 5const checkMail = function(){// 処理} 6 7$(function () { 8 $("#No").on('blur keypress', checkNo); 9 $("#Name").on('blur keypress', checkName); 10 $("#Sex").on('blur keypress', checkSex); 11 $("#Mail").on('blur keypress', checkMail); 12 13 $("#btn").on( 14 'click', checkNo, checkName, checkSex, checkMail 15 ); 16}); 17
試したこと
送信ボタン4つ分の同じclickイベントハンドラを書いてそこに各々の関数呼び出しを記述すれば機能自体は満たせるのですが、すごい冗長でスマートでないなぁと・・・
一つのイベントハンドラに纏める方法があれば教えて欲しいです。
こんにちは。回答を考えてコードを書きました。https://jsfiddle.net/jun68ykt/enxzrfq1/70/ これは4つのテキストと1つのボタンの計5個の <input /> の click イベントを一つのイベントハンドラで処理します。 ですが、実現されたいことは、ボタンのクリックハンドラで4つの関数をまとめたいということだったのですね。質問の趣旨を勘違いしていたようです。
いえ、ソースコード見せていただきましたが、自分の引き出しにない書き方ばかりですごく勉強になりました! もしよければ先のソースコードの書き方を学ぶのに参考になるサイトとかあれば教えていただきたいです。
「自分の引き出しにない書き方ばかりですごく勉強になりました!」とのことでよかったです!「もしよければ先のソースコードの書き方を学ぶのに参考になるサイトとかあれば教えていただきたいです。」との件については、長くなりそうだったので回答欄のほうに返答を書きました。
回答2件
あなたの回答
tips
プレビュー