我是Laravel和php的新手。在生成随机数方面需要一些帮助。
<input type="checkbox" name="exercise_choice_10" value="10" {{ app('request')->input('exercise_choice_10') ? 'checked' : '' }}> Type 1</input></BR>
<input type="checkbox" name="exercise_choice_20" value="20" {{ app('request')->input('exercise_choice_20') ? 'checked' : '' }}> Type 2</input></BR>
<input type="checkbox" name="exercise_choice_30" value="30" {{ app('request')->input('exercise_choice_30') ? 'checked' : '' }}> Type 3</input></BR>
<form action="{{ route('exam.robot', ['course' => $course]) }}" method="post">
@csrf
<input type="checkbox" name="exercise_choice_10" value="10" {{ app('request')->input('exercise_choice_10') ? 'checked' : '' }}> Type 1</input></BR>
<input type="checkbox" name="exercise_choice_20" value="20" {{ app('request')->input('exercise_choice_20') ? 'checked' : '' }}> Type 2</input></BR>
<input type="checkbox" name="exercise_choice_30" value="30" {{ app('request')->input('exercise_choice_30') ? 'checked' : '' }}> Type 3</input></BR>
</BR>
<button class="button">Submit</button>
</BR>
</BR>
{{ $random }}
</form>
答案 0 :(得分:1)
在您的控制器中,您可以检查该复选框是否已选中,并使用该复选框中的value
。从您的示例中我们知道,范围将在$value - 9
和$value
之间。
我们可以使用rand($min, $max)
来获得随机值。
if ($request->has("exercise_choice_10")) {
$value = $request->input("exercise_choice_10");
$randomValue = rand($value-9, $value);
}
对其他复选框重复相同的操作,并将$randomValue
返回到您的视图。
请记住,通过使用复选框,可以在任何给定时间选中所有3个-因此,您可能需要使用单选按钮(每个名称只能选中一个)。
答案 1 :(得分:0)
谢谢您的答复Qirel :) 此解决方案(请参阅下文)仅适用于单选按钮。使用复选框时,最后选中的复选框将覆盖其余复选框。因此,我仍在研究复选框解决方案。
if ($request->input('exercise_choice_10')) {
$value = $request->input("exercise_choice_10");
$random = rand($value-9, $value);
}
else {
}
if ($request->input('exercise_choice_20')) {
$value = $request->input("exercise_choice_20");
$random = rand($value-9, $value);
}
else {
}
if ($request->input('exercise_choice_30')) {
$value = $request->input("exercise_choice_30");
$random = rand($value-9, $value);
}
else {
}