1

フォームをループして、チェックボックスや入力フィールドなどの各要素の値を検索する関数があります。このフォームのタグをループすると、たとえば、selectがある場合は、それらが文字列に追加されます。内部にいくつかのオプションタグが含まれるタグの場合、selectタグの値を取得します。これは、selectタグの現在選択されている値であり、文字列に追加されます。

問題は、ラジオボタンが現在の値を格納する形式の場所を持っていないように見えることです。ラジオボタンが名前でグループ化されていることは知っていますが、ラジオボタンのタグにIDを使用せずに、どのラジオボタンが選択されているかを確認するにはどうすればよいですか?さらに、私のフォームにはいくつかの異なるラジオボタングループがあり、[送信]をクリックすると、それぞれの値を個別に取得できる必要があります。

これがラジオボタンフォームの例です

    <form id="radioTestForm">
        <input type="radio" name="group1" value="cows">1</input>
        <input type="radio" name="group1" value="ducks">2</input>
        <input type="button" onclick="radioTest()" value="submit"></input>
    </form>

最後に、これにはjqueryを使用できません。javascriptである必要があります。

4

2 に答える 2

2
function getRadioValue()
{
    for (var i = 0; i < document.getElementsByName('group1').length; i++)
    {
        if (document.getElementsByName('group1')[i].checked)
        {
            return document.getElementsByName('group1')[i].value;
        }
    }
}

作業デモ

于 2012-11-28T12:06:59.917 に答える
1

これをあなたのフォームとしましょう

<form name="form1">
Apple <input type="radio" name="fruit" checked value="apple" >
Orange <input type="radio" name="fruit" value="orange" >
Apricot <input type="radio" name="fruit" value="apricot" >
</form>

<input type="button" onclick="whichFruit()" value="Choose a fruit">

次のように選択されたラジオボタンを検出します

function wichFruit()
{
  var element = document.form1.fruit;
  for (var i=0; i < element.length; i++)
  {
    if (element[i].checked)
    {
      var fruit = element[i].value;
      break;
    }
  }
}
于 2012-11-28T12:09:04.437 に答える