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

您需要在 HTML 中指明您想要表单POST编辑:

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

更新page.php为处理表单的 PHP 文件的名称。

将所有输入字段包装在一个<form>标签中也是一个好主意 - 您可以在其中单独隐藏表单元素;没有必要将它们分开。

于 2013-09-25T00:15:03.203 回答