以下の関数は常に false を返します。理由はわかっていると思いますが、修正方法がわかりません。検証するラジオフォームはループを使用して生成され、各ラジオフィールドの ID を「myfilling」に設定しましたが、それが間違っていると思います。
機能は次のとおりです。
if(!document.getElementById('myfilling').checked) {
var resultloc=document.getElementById("fillingerror");
resultloc.innerHTML = "<span style='color:red;'>Please select a filling!<span>";
return false;
} else {
var resultloc=document.getElementById("fillingerror");
resultloc.innerHTML = "";
return true;
}
フィールドの最初のラジオ ボタンを選択すると、エラーは発生しません。ただし、他のボタンを選択すると、エラーが発生します。これを修正するにはどうすればよいですか?
無線フィールドは、次のように生成されます。
function make_filling_radio($filling)
{
$filling = array("Carne de Casa (shredded beef)", "Carnitas (shredded pork)", "Pulled BBQ Chicken", "Roasted Chili Lime Chicken", "Roasted Veggies");
foreach ($filling as $value){
if (!empty($filling) and (FALSE !== array_search($value, $filling)))
echo "<input type=\"radio\" name=\"filling\" value=\"$value\" id='myfilling'> $value<br>\n";
else
echo "<input type=\"radio\" name=\"filling\" value=\"$value\" id='myfilling'> $value<br>\n";
}
}