私は次のコードを持っています、
HTML
<form>
<label>Form 1<input value="1" type="radio" name="formselector" onclick="displayForm(this)"></label>
<label>Form 2<input value="2" type="radio" name="formselector" onclick="displayForm(this)"></label>
</form>
<form style="visibility:hidden" id="form1" name="form1">
<label>Form 1<input type="text" id="a1" name="a1"/></label>
<label>Form 2<input type="text" id="a2" name="a2"/></label>
</form>
<form style="visibility:hidden" id="form2" name="form2">
<label>Form 2<input type="text" id="b1" name="b1"/> </label>
</form>
JavaScript
function displayForm(c){
if(c.value == "1"){
document.getElementById("form1").style.visibility='visible';
document.getElementById("form2").style.visibility='hidden';
}
else if(c.value =="2"){
document.getElementById("form1").style.visibility='hidden';
document.getElementById("form2").style.visibility='visible';
}
}
そして、入力値を読み取ってテキストファイルに入れる次のphpコードがあります。このコードは他の要素に対しては正常に機能しましたが、このコードを使用して、選択したラジオボタンの別のフォーム内から入力要素を読み取るとタグ、それはエラー、未定義の要素a1を与えます。
PHP
file_put_contents($file, "\n a1 value:", FILE_APPEND | LOCK_EX);
$ret = file_put_contents($file, $_POST['a1'], FILE_APPEND | LOCK_EX);
別のフォーム内のフォームが原因だと思いますか、それとも他の理由があるのでしょうか、それとも $_POST 内に他の ID を入れる必要がありますか? 試してみ$_POST['form1.a1']
ましたが、未定義のエラーも出ていますか?