如何在具有相同不同输入名称的已检查状态下显示任何一个单选按钮?

时间:2018-02-15 08:58:12

标签: javascript php html

我正在使用带有3个不同输入名称的3个单选按钮。我正在使用这种方法,因为我也希望得到未经检查按钮的值。 但在这种情况下,同时检查3个单选按钮。我需要克服这一点。我只希望一个单选按钮处于检查状态。

if(isset($_POST['ok']))
{
foreach($_POST['job_seeker'] as $company=>$row){
    foreach($row as $job_seeker){
        echo $job_seeker;
    }
}

foreach($_POST['employer'] as $company=>$row){
    foreach($row as $employer){
        echo $employer;
    }
}

foreach($_POST['consultant'] as $company=>$row){
    foreach($row as $consultant){
        echo $consultant;
    }
}
<form name="chk" action="" method="post">
	<input type="hidden"  name="job_seeker[0][e]" value="inactive"  />
	<input type="radio"  id="job_seeker1"  name="job_seeker[0][e]" value="active"  />
	<label for="job_seeker1">Job Seeker</label>

	<input type="hidden"  name="employer[0][e]" value="inactive"  />
	<input type="radio"  id="employer1" name="employer[0][e]" value="active"  />
	<label for="employer1">Employer</label>

	<input type="hidden"  name="consultant[0][e]" value="inactive"  />
	<input type="radio" id="consultant1" name="consultant[0][e]" value="active"  />
	<label for="consultant1">Consultant</label>

    <input type="submit" name="ok" value="ok" />
 </form>

3 个答案:

答案 0 :(得分:3)

如果你想按照它们的使用方式使用单选按钮,你应该给它们相同的名字。然后只能选择一个项目

答案 1 :(得分:1)

每个无线电的name属性必须相同才能使它们正常工作。您可以使用value来区分无线电。这是一个简化的例子:

<input type="radio" name="role" value="job_seeker" />
<input type="radio" name="role" value="employer" />
<input type="radio" name="role" value="consultant" />

在PHP中就是这样:

$job_seeker = "inactive";
$employer = "inactive";
$consultant = "inactive";

if (isset($_POST["role"])) {
    if ($_POST["role"] == "job_seeker") {
        $job_seeker = "active";
    } elseif ($_POST["role"] == "employer") {
        $employer = "active";
    } else {
        $consultant = "active";
    }
}

答案 2 :(得分:0)

我认为您可以使用相同的name属性并在php级别比较它们,如下所示。另外,更改value属性以区分。

<form name="chk" action="" method="post">


	<input type="hidden"  name="job_seeker[0][e]" value="inactive"  />
	<input type="radio"  id="job_seeker1"  name="job_seeker[0]" value="1"  />
	<label for="job_seeker1">Job Seeker</label>



	<input type="hidden"  name="employer[0][e]" value="inactive"  />
	<input type="radio"  id="employer1" name="job_seeker[1]" value="2"  />
	<label for="employer1">Employer</label>



	<input type="hidden"  name="consultant[0][e]" value="inactive"  />
	<input type="radio" id="consultant1" name="job_seeker[2]" value="3"  />
	<label for="consultant1">Consultant</label>


<input type="submit" name="ok" value="ok" />
</form>


<?php 

$answer = $_POST['job_seeker'];  
if ($answer == "1") {          
    $jobseeker='active'; 
	$employer='inactive';
	$consultant='inactive';
}else if($answer == "2") {          
    $jobseeker='inactive'; 
	$employer='active';
	$consultant='inactive';
}else if($answer == "3") {          
    $jobseeker='inactive'; 
	$employer='inactive';
	$consultant='active';
}
?>