为输入名称属性设置两个值

时间:2013-11-02 18:26:35

标签: php html

我有一个复选框列表,可以选择一些有限的复选框。为此我设置所有它们的名称attr“回答”以正确使用js功能(我从某些地方获得了功能)。

<?php
else if($result['type'] == "multipleChoice"){
echo'
<div><input type="checkbox" name="answer ans1" value="'.$res['probAns1'].'"/><input type="text" class="prob-ans" name="prob-ans1" value="'.$res['probAns1'].'"/><lable>:گزینه 1</lable></div>
<div><input type="checkbox" name="answer ans2" value="'.$res['probAns2'].'"/><input type="text" class="prob-ans" name="prob-ans2" value="'.$res['probAns2'].'"/><lable>:گزینه 2</lable></div>
<div><input type="checkbox" name="answer ans3" value="'.$res['probAns3'].'"/><input type="text" class="prob-ans" name="prob-ans3" value="'.$res['probAns3'].'"/><lable>:گزینه 3</lable></div>
<div><input type="checkbox" name="answer ans4" value="'.$res['probAns4'].'"/><input type="text" class="prob-ans" name="prob-ans4" value="'.$res['probAns4'].'"/><lable>:گزینه 4</lable></div>
';  
?>

首先,为name attr设置两个值是正确的。我做到了但没有奏效。喜欢第二个值是不可接受的。 如果不是我怎么能指定它们,如果我只是名字=“答案”?我想在php中设置一些值,如果设置了其中一个复选框。

<?php
if($result['type'] == "multipleChoice"){
    $question->probAns1 = mysql_real_escape_string($_POST['prob-ans1']);
    $question->probAns2 = mysql_real_escape_string($_POST['prob-ans2']);
    $question->probAns3 = mysql_real_escape_string($_POST['prob-ans3']);
    $question->probAns4 = mysql_real_escape_string($_POST['prob-ans4']);
    if(isset($_POST['ans1'])){
        $question->answer1 = $_POST['prob-ans1'];
    }
}
?>

2 个答案:

答案 0 :(得分:0)

不,你不能像你那样拥有两个名字。然而,以下是可能的:

<input type="checkbox" name="answer[]" value="abc" />
<input type="checkbox" name="answer[]" value="def" />

您的$_POST将如下所示(如果两者都已选中):

array(
    'answer' => array(
        0 =>      'abc',
        1 =>      'def'
    )
)

您还可以指定数组键,因此name="answer[answ1]" value="abc"会为您提供$_POST['answer']['answ1'] == 'abc'

答案 1 :(得分:-2)

以下是link您需要做的事情。

在一个句子中,您需要使用html元素数组。