-1

我有一个复选框列表,可以选择一些有限的复选框。为此,我将所有“答案”的名称 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>
';  
?>

首先为名称 attr 设置两个值是否正确。我做到了,但没有奏效。就像第二个值是不可接受的。如果不是,如果我只有 name="answer",我该如何指定它们?如果设置了这些复选框之一,我想在 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'];
    }
}
?>
4

2 回答 2

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'

于 2013-11-02T18:42:24.890 回答
-2

这是您需要做的事情的链接。

一句话,你需要使用html元素的数组。

于 2013-11-02T18:36:28.260 回答