jQueryで簡単操作!input要素の値を取得・設定する方法まとめ
このページでは、jQueryを使ってフォーム要素の値を取得・設定する方法について詳しく解説します。 input、select、textareaなど、様々な要素に対応した方法を紹介します。 val()メソッドの使い方から、要素の種類に応じた操作方法、そして、よくある使用例とコードサンプルまで、 初心者から中級者まで、jQueryを使ってフォームを操作したいすべての人に向けて解説します。
val()メソッドの基本的な使い方
jQueryでフォーム要素の値を取得・設定するには、val()
メソッドを使用します。
このメソッドは、要素の値を取得することも、設定することもできます。
// input要素の値を取得する
var inputValue = $('#inputId').val();
// input要素の値を設定する
$('#inputId').val('新しい値');
input要素の種類に応じた値の取得・設定方法
input要素には、テキストボックス、チェックボックス、ラジオボタン、セレクトボックスなど、様々な種類があります。 ここでは、それぞれの要素の種類に応じた値の取得・設定方法を解説します。
要素の種類 | 値の取得 | 値の設定 |
---|---|---|
テキストボックス | $('#textboxId').val(); |
$('#textboxId').val('新しい値'); |
チェックボックス | $('#checkboxId').prop('checked'); // true or false |
$('#checkboxId').prop('checked', true); |
ラジオボタン | $('input[name="radioName"]:checked').val(); |
$('input[name="radioName"][value="値"]').prop('checked', true); |
セレクトボックス | $('#selectId').val(); |
$('#selectId').val('値'); |
属性値の取得・設定
フォーム要素の属性値を取得・設定するには、attr()
メソッドを使用します。
例えば、要素を無効にしたり、読み取り専用にしたりすることができます。
// input要素を無効にする
$('#inputId').attr('disabled', 'disabled');
// input要素を読み取り専用にする
$('#inputId').attr('readonly', 'readonly');
フォーム送信時の値の取得
フォームを送信する際に、すべてのフォーム要素の値を取得するには、serialize()
メソッドまたはserializeArray()
メソッドを使用します。
// フォームデータを取得する(クエリ文字列形式)
var formData = $('#formId').serialize();
// フォームデータを取得する(JavaScriptオブジェクトの配列形式)
var formDataArray = $('#formId').serializeArray();
よくある使用例
jQueryを使ってフォームを操作するよくある使用例をいくつか紹介します。
フォームバリデーション
フォームを送信する前に、入力値が正しいかどうかをチェックするには、以下のようにします。
$('#formId').submit(function(event) {
// 入力値のチェック
if ($('#inputId').val() === '') {
// エラーメッセージを表示
alert('入力してください');
// フォームの送信をキャンセル
event.preventDefault();
}
});
動的なコンテンツの更新
入力値に応じて、動的にコンテンツを更新するには、以下のようにします。
$('#inputId').on('input', function() {
// 入力値を取得
var inputValue = $(this).val();
// コンテンツを更新
$('#content').text(inputValue);
});
Ajaxフォーム送信
ページをリロードせずに、Ajaxを使ってフォームを送信するには、以下のようにします。
$('#formId').submit(function(event) {
// フォームの送信をキャンセル
event.preventDefault();
// Ajaxでフォームデータを送信
$.ajax({
url: 'submit.php',
type: 'POST',
data: $(this).serialize(),
success: function(response) {
// 成功時の処理
},
error: function() {
// エラー時の処理
}
});
});
参考文献
- jQuery.val() | jQuery API Documentation
- jQuery.attr() | jQuery API Documentation
- jQuery.serialize() | jQuery API Documentation
- jQuery.serializeArray() | jQuery API Documentation
よくある質問
Q1. val()メソッドで値を設定しても、要素に反映されません。
A1. 要素が正しく選択されているか、JavaScriptのエラーが発生していないかを確認してください。また、ページの読み込みが完了する前にJavaScriptが実行されている場合は、$(document).ready()
を使用して、ページの読み込みが完了してから実行するようにしてください。
Q2. チェックボックスやラジオボタンの値が正しく取得できません。
A2. チェックボックスやラジオボタンの値を取得するには、prop('checked')
を使用します。val()
を使用すると、要素の値(value属性の値)が取得されます。
Q3. フォームの送信をキャンセルするにはどうすればよいですか?
A3. フォームのsubmitイベントハンドラ内で、event.preventDefault()
を実行することで、フォームの送信をキャンセルできます。
その他の参考記事:jquery name 取得