如何从选定的单选按钮标签的输入元素内部读取输入值?

时间:2013-09-25 00:13:46

标签: php forms

我有以下代码,

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'],但它也给出了未定义的错误?

1 个答案:

答案 0 :(得分:0)

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

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

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

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