0

jQuery (バージョン 1.4+) を使用して、フォームの入力要素の特定のタイプを判別しようとしています。これらの質問で説明されているように、jQuery を使用して要素の型を決定する方法は既に確認しました。

jQuery で要素の型を取得する jQuery を使用して要素の 型を見つける JQuery で要素の型を見つける方法

...次のようなスクリプトを使用:

var btn_submit = $(calendar_box).find('input[name="submit"]');
var elementType = btn_submit.prop('tagName');

これは機能します。ただし、私の質問はもう少し具体的です。必須フィールドが入力された場合にのみ [送信] ボタンを有効にする check_form 関数があります。送信ボタンが標準フォーム ボタンの場合は「無効」属性を削除し、ボタンが画像の場合は「有効」バージョンの画像に置き換えます。問題は、どちらのタイプのボタンでも、elementType が常に INPUT として返されることです。ボタンの有効化に関して適切なアクションを実行できるように、2 種類の入力を区別できる必要があります。

jQueryを使用して要素のサブタイプを見つける方法はありますか? テキストボックス、ボタン、または画像のいずれを調べているかに関係なく、elementType は INPUT になるように思えます。

編集

HTMLを省略して申し訳ありません。

HTML ボタンの場合、次のようになります。

<input type="button" id="submit" name="submit" value="COMPUTE CALENDAR" onkeypress="return handle_key_press_box(event);" onclick="submit_form();" disabled="disabled" />

次のような画像も使用しました。

<input type="image" id="submit" name="submit" onkeypress="return handle_key_press_box(event);" onclick="submit_form();" disabled="disabled" />

…そしてこうして…

<a href="javascript:submit_form();"><img src="../images/favicon.ico" onkeypress="return handle_key_press_box(event);" /></a>

リンク アプローチを使用すると、elementType の値が「null」になります。関数ロジックでこれを使用できると思いますが、どういうわけか最適とは言えません。

前もって感謝します。

編集

うまくいきました、イージェイ。attr('type') は、アンカー タグに対しては引き続き null を返しますが、画像とボタンのタイプを適切に区別します。これを回答済みとしてマークします!

4

1 に答える 1