我目前有以下表格:
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<label for="categorie"> Tipul testului</label><br>
<select name="categorie" class="selectpicker">
<option value="1">Geometrie</option>
<option value="2">Algebră</option>
</select><br><br>
<label for="cerinta"><span class="glyphicon glyphicon-pencil"></span> Cerinţă</label>
<textarea type="text" class="form-control" id="cerinta" name="cerinta" placeholder="Cerinţă"></textarea>
<br>
<label for="rezolvare"><span class="glyphicon glyphicon-pencil"></span> Rezolvare</label>
<textarea type="text" class="form-control" id="rezolvare" name="rezolvare" placeholder="Rezolvare"></textarea>
<br>
<label for="nr_raspunsuri"><span class="glyphicon glyphicon-pencil"></span> Număr de raspunsuri</label>
<select class="selectpicker" name="nr_raspunsuri">
<option value="1">1</option>
<option value="2">2</option>
</select>
<br>
<table class="table">
<tr>
<td class="col-md-6">
<button type="submit" class="btn btn-success btn-block" name="btn-add"><span class="glyphicon glyphicon-off"></span> Adăugare</button>
</td>
<td class="col-md-6">
<input type = "reset" class="btn btn-danger btn-block " label="Resetare"/>
</td>
</tr>
</table>
</form>
我要做的是将名为$nr_raspunsuri
的变量设置为1
或2
,具体取决于用户的选择而不刷新页面。
例如,如果他在第二个选择字段中选择2
,我想设置变量$nr_raspunsuri = 2
,这样我就可以在表单中再显示一个if
的输入字段在PHP中。我认为这只能通过AJAX实现。这是真的吗?如果是的话,你会怎么做?
答案 0 :(得分:2)
php中的if
在重新加载页面之前不会再次运行。您可以通过使用javascript切换视图来实现它 - 当从第一个选择中选择值为1的选项时,隐藏不应该看到的元素,如果选择了值为2的选项则显示它。您可以使用change
事件来实现它。