0

私は次のコードを持っています、

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']ましたが、未定義のエラーも出ていますか?

4

1 に答える 1

0

POSTフォームを編集したいことを HTML で示す必要があります。

<form method="post" action="page.php">

page.phpフォームを処理する PHP ファイルの名前に更新します。

すべての入力フィールドを 1 つの<form>タグでラップすることもお勧めします。その中にフォーム要素を個別に隠すことができます。それらを別々に保つ必要はありません。

于 2013-09-25T00:15:03.203 に答える