【发布时间】:2017-03-22 13:49:36
【问题描述】:
我在其中一种表单中使用 jQuery 滑块组件,如下所示:
<form action="survey_dis.php" method="POST" target="_self" name="apForm">
<div data-role="rangeslider">
<input type="range" name="F1" id="F1" min="0" max="100" step="5" value="" onchange='document.getElementById("bar1").value = document.getElementById("F1").value."%";'>
<input type="text" name="bar1" id="bar1" value="" size="3" disabled />
</div>
(...)
</form>
正如您所注意到的,允许的范围应表示百分比,因此允许的值必须在 0 到 100 之间。因为检查 empty($var) 将返回 TRUE,即使是“0”,我已经默认“值” " 带有一个空字符串...
现在在我的 php 脚本中,我需要检查用户是否实际选择了一个值,而不是保持默认值:
for ($i=1; $i<51; $i++){ // 51 questions
if (isset($_POST["F$i"]) && strlen($_POST["F$i"]) && ($_POST["F$i"]<>'-1') ){
$F_var = $_POST["F$i"];
} else {
print "Question # $i missing";
$missing_fields += 1;
}
}
然而,对于 php,它总是看起来好像已经做出了一个滑块选择,并且“else”条件从不适用......即使我将“value”默认为“0”。
【问题讨论】:
-
如果您需要扩展变量 $i,您需要在引号之外使用它。 “F” 。 $i
-
即使 onchange 事件没有触发,它看起来像一个滑块选择了?
-
@Chris 如果评估良好。
-
@ArthurSwails 是的,“else”条件永远不会触发......
标签: php jquery string jquery-ui-slider