å¿…è¦ãªã‚‰ã©ã†ãžã€‚

デモ

jQueryã§ãƒ•ォームã®å€¤ã‚’å–å¾—ã™ã‚‹æ–¹æ³•ã‚’ã¾ã¨ã‚ – jsdo.it – share JavaScript, HTML5 and CSS

共通:è¦ç´ ã®æŽ¢ã—æ–¹

inputè¦ç´ ãªã‚“ã‹ã«id振ã£ã¡ã‚ƒã†ã®ãŒä¸€ç•ªãªã‚“ã ã‘ã©ã€å±žæ€§ã‚»ãƒ¬ã‚¯ã‚¿ãƒ¼ã‚’使ã†ã¨æ¥½ãªå ´åˆãŒã‚りã¾ã™ã€‚ã¤ã¾ã‚Š[name=xxx]ã§æ¤œç´¢ã™ã‚‹ã‚„り方。

<form id="my-form">
  <input type="text" name="my-text" value="This is text." />
</form>
// id="my-form" ã®ä¸­ã‹ã‚‰ name="my-text" ãªã‚‚ã®ã‚’検索
var $input = $('#my-form [name=my-text]');

[name=xxx]ã ã‘ã ã¨ãƒ•ォームãŒè¤‡æ•°ã‚ã‚‹ã¨ãã«å…¨éƒ¨å–ã£ã¦ãã¡ã‚ƒã†ã®ã§ã€ãƒ•ã‚©ãƒ¼ãƒ ã®æ–¹ã«ã¯idを振ã£ã¦ã€ãã®ä¸­ã‹ã‚‰æŽ¢ã™ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚

テキスト

ã“れãŒåŸºæœ¬ãƒ‘ターン。 .val()ã§å¾—られã¾ã™ã€‚

<form id="my-form">
  <input type="text" name="my-text" value="This is text." />
</form>
var val = $('#my-form [name=my-text]').val();
console.log(val);  // => "This is text."

数値

HTML5ã‹ã‚‰typeã«numberãŒè¿½åŠ ã•れã¾ã—ãŸã€‚ã¾ã‚今ã¾ã§ã‚‚textã§ã‚„ã£ã¦ããŸã¨æ€ã†ã‚“ã§ã™ãŒã€ã¨ã‚‚ã‹ã .val()ã™ã‚‹ã¨stringåž‹ã§è¿”ã£ã¦ãã¾ã™ã€‚数値ã®åŠ ç®—2+3ã¯5ã«ãªã‚Šã¾ã™ãŒã€æ–‡å­—列"2"+"3"ã¯"23"ã«ãªã£ã¡ã‚ƒã„ã¾ã™ã‹ã‚‰ã­ã€‚è¦æ³¨æ„。

ã§ã€å–ã£ã¦ããŸæ–‡å­—列をNumber()ã‚ãŸã‚Šã§æ•°å€¤ã«å¤‰æ›ã—ã¦ã‚„れã°å¤§ä¸ˆå¤«ã§ã™ã€‚

<form id="my-form">
  <input type="number" name="my-number" value="123" />
</form>
var valText = $('#my-form [name=my-number]').val();
var val = Number(valText) || 0;  // NaNã®ã¨ã0ã«ã™ã‚‹
console.log(val);  // => 123

「フォームã®å€¤ã®å–り方ã€ã¨ã¯ã¡ã‚‡ã£ã¨é•ã†ã‚“ã ã‘ã©ã€ã¾ã‚覚ãˆã¦ãŠã„ã¦ãã ã•ã„。ã‚ã¨æ–‡å­—列ã‹ã‚‰æ•°å€¤ã¸ã®å¤‰æ›ã¯ä½•パターンã‹ã‚りã¾ã™ã®ã§ã€èˆˆå‘³ã‚れã°èª¿ã¹ã¦ã¿ã¦ãã ã•ã„ãªã€‚

ラジオボタン

値をå–ã‚‹ã¨ã„ã†å‹•作自体ã¯å˜ç´”ã« .val()ã§æ¸ˆã‚€ã‚“ã ã‘ã©ã€ç¾å®Ÿçš„ã«ã‚„りãŸã„ã®ã¯é¸æŠžã•れã¦ã„る値をå–ã‚‹ã€ã¨ã„ã†ã®ã§ã™ã‚ˆã­ã€‚

ã¨ã„ã†ã‚ã‘ã§ã€nameå±žæ€§ã§æ¤œç´¢ã—ãŸå¾Œã«:checkedã§çµžã‚Šè¾¼ã‚€ã¨ã„ã†ã²ã¨æ‰‹é–“を加ãˆã¾ã™ã€‚

<form id="my-form">
  <input type="radio" name="my-radio" value="A" />
  <input type="radio" name="my-radio" value="B" checked />
  <input type="radio" name="my-radio" value="C" />
</form>
var val = $('#my-form [name=my-radio]:checked').val();
console.log(val);  // => "B"

ã‚ã€ã‚‚ã¡ã‚ん利用者ãŒç”»é¢ã§ã½ã¡ã½ã¡ã—ã¦é¸æŠžå¤‰ãˆãŸã‚‰ã€ãã£ã¡ãŒå¾—られã¾ã™ã‚ˆã€‚

ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹

ã“れãŒé¢å€’ãã•ã„。è¦ç´ ã®æŽ¢ã—æ–¹ã¯ãƒ©ã‚¸ã‚ªãƒœã‚¿ãƒ³ã¨ä¸€ç·’ãªã‚“ã ã‘れã©ã€ã“ã£ã¡ã¯è¤‡æ•°é¸æŠžã•れã¦ã„ã‚‹å ´åˆãŒã‚る。jQueryã¯å€¤ã®å–å¾—ã¯å…ˆé ­ã®ã‚‚ã®ã ã‘ãŒå¯¾è±¡ã«ãªã‚‹ã®ãŒæ™®é€šã§ã€ .val()ã‚‚ãã†ã€‚

全部å–ã‚‹ãŸã‚ã«ã€ .map()ã§ãƒ«ãƒ¼ãƒ—ã—ã¾ã™ã€‚

<form id="my-form">
  <input type="checkbox" name="my-checkbox" value="A" />
  <input type="checkbox" name="my-checkbox" value="B" checked />
  <input type="checkbox" name="my-checkbox" value="C" checked />
</form>
var $checked = $('#my-form [name=my-checkbox]:checked');
var valList = $checked.map(function(index, el) { return $(this).val(); });
console.log(valList);  // => ["B", "C"]

複数ã‚ã‚‹ã‹ã‚‚ãªã®ã§ã€å€¤ã‚‚é…列ã«è©°ã‚ã¦ã¾ã™ã€‚

ã‚〠.map()ã®ä½¿ã„æ–¹ã¯è§£èª¬ã—ãªã„ã®ã§ã€ã‚ã‹ã‚‰ãªã„äººã¯æŽ¢ã—ã¦ã¿ã¦ãã ã•ã„ã­ã€‚

んーã€ã‚‚ã£ã¨è‰¯ã„やり方ãŒã‚ã‚‹ã‹ã‚‚ã—れãªã„。

ã‚»ãƒ¬ã‚¯ãƒˆãƒœãƒƒã‚¯ã‚¹ï¼ˆå˜æ•°ï¼‰

HTMLã¯ãƒ©ã‚¸ã‚ªãƒœã‚¿ãƒ³ã«ä¼¼ã¦ã‚‹ã‘ã©ã€é¸æŠžã•れã¦ã„ã‚‹optionè¦ç´ ã‚’探ã™å¿…è¦ã¯ãªãã¦ã€å˜ã«selectè¦ç´ ã®å€¤ã‚’å–れã°OKã§ã™ã€‚

<form id="my-form">
  <select name="my-select">
    <option value="A">This is A</option>
    <option value="B" selected>This is B</option>
    <option value="C">This is C</option>
  </select>
</form>
var val = $('#my-form [name=my-select]').val();
console.log(val);  // => "B"

è¡¨ç¤ºæ–‡å­—åˆ—ãŒæ¬²ã—ã„ã¨ãã¯

値"B"ã˜ã‚ƒãªãã¦ç”»é¢ã«è¡¨ç¤ºã•れã¦ã„ã‚‹ã‚„ã¤"This is B"ãŒæ¬²ã—ã„ã¨ãã¯ã€optionè¦ç´ ã‹ã‚‰æŽ¢ã™äº‹ã«ãªã‚Šã¾ã™ã€‚

ã‚㨠.val()ã˜ã‚ƒãªã㦠.text()ã­ã€‚

var text = $('#my-form [name=my-select] option:selected').text();
console.log(text);  // => "This is B"

フォームé€ä¿¡ã—ã¦ã‚‚サーãƒãƒ¼ã«é€ã‚‰ã‚Œã‚‹ã‚‚ã®ã§ã¯ãªã„ã‘れã©ã€é¸æŠžã‚’ç”»é¢ã«å映ã•ã›ãŸã„å ´åˆã«ä½¿ãˆã‚‹ã‹ãªã¨ã€‚

セレクトボックス(複数)

å–り方ã¯å˜æ•°ã®ã¨ãã¨ä¸€ç·’ã§ã™ã€‚ãªã‚“ã¨ãªã‚“ã¨ã€ãƒ©ã‚¸ã‚ªãƒœã‚¿ãƒ³ã¿ãŸã„ã«ãƒ«ãƒ¼ãƒ—ã§äº‘々ãªã‚“ã¦ä¸è¦ï¼ã€€ãã®ã‚ãŸã‚Šã¯jQueryãŒã‚„ã£ã¦ãれã¾ã™ã€‚便利ã ã­ãƒã€‚

multiple属性ã®ã‚ã‚‹selectè¦ç´ ã§ .val()ã™ã‚‹ã¨ã€é¸æŠžå€¤ãŒé…列ã§å¾—られã¾ã™ã€‚

<form id="my-form">
  <select name="my-multi-select" size="3" multiple>
    <option value="A">This is A</option>
    <option value="B" selected>This is B</option>
    <option value="C" selected>This is C</option>
  </select>
</form>
var val = $('#my-form [name=my-multi-select]').val();
console.log(val);  // => ["B", "C"]

ã¡ãªã¿ã«é¸æŠžã•れã¦ã‚‹æ•°ã«ã‚ˆã‚‰ãšã«é…列ã«ãªã‚‹ã®ã§ã€ã²ã¨ã¤ã®ã¨ãã‚‚ä½•ã‚‚é¸æŠžã•れã¦ãªã„ã¨ãã‚‚ã€é…列ã§ã™ã€‚

ファイル

ã“れã¯ç„¡ç†ï¼

昔㯠.val()ã§é¸æŠžã•れã¦ã„るファイルã®ãƒ‘スã¨ã‹å–れãŸã‚“ã ã‘ã©ã€ä»Šã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã®ã‚¢ãƒ¬ã‚½ãƒ¬ã§é§„ç›®ã§ã™ã€‚jQueryã˜ã‚ƒãªãã¦JavaScriptã®æ–¹ã®å•題ã­ã€‚

ã©ã†ã—ã¦ã‚‚å¿…è¦ãªã‚‰HTML5ã®File APIã‚ãŸã‚Šã‚’使ã„ã¾ã™ã€‚本稿ã§ã¯è§¦ã‚Œã¾ã›ã‚“。

全部ã¾ã¨ã‚ã¦

フォームã®å€¤ã‚’ã¾ã¨ã‚ã¦å…¨éƒ¨å–ã£ã¦ãる事もå¯èƒ½ã§ã™ã€‚

formè¦ç´ ã«å¯¾ã—㦠.serialize()ã§é€ä¿¡ã™ã‚‹ã®ã¨åŒã˜æ–‡å­—列(URLã®”?”以é™ã®éƒ¨åˆ†ï¼‰ãŒã€ .serializeArray()ã§ãれをé…列ã«åˆ†è§£ã—ãŸã‚‚ã®ã‚’得られã¾ã™ã€‚

<form id="my-form">
  <input type="text" name="my-text" value="This is text." />
  <select name="my-multi-select" size="3" multiple>
    <option value="A">This is A</option>
    <option value="B" selected>This is B</option>
    <option value="C" selected>This is C</option>
  </select>
</form>
var $form = $('#my-form');
var query = $form.serialize();
var param = $form.serializeArray();
console.log(query);  // => "my-text=This+is+text.&my-multi-select=B&my-multi-select=C"
console.log(param);  // => [{name:"my-text",value:"This is text."},(çœç•¥ï¼‰]

ã¾ã¨ã‚ã¦æ¤œè¨¼ã™ã‚‹ã¨ãã¨ã‹ã€å€‹åˆ¥ã«å–ã£ã¦ãるよりã“ã£ã¡ã®æ–¹ãŒæ¥½ã‹ã‚‚ã—れãªã„。

.serializeArray()ã¯é…列ã˜ã‚ƒãªãã¦nameをキーã«ã—ãŸé€£æƒ³é…列ã ã¨æ‰±ã„ãŒæ¥½ã ãªãƒ¼ã£ã¦æ€ã„ã¾ã—ãŸã€‚複数ã‚ã‚‹ã‚‚ã®ã¯valueã®æ–¹ã‚’é…列ã«ã™ã‚‹æ„Ÿã˜ã§ã€‚ã¾ã‚ã„ã„ã‘ã©ã€‚

ãŠã—ã¾ã„。