Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用PHP验证范围滑块_Javascript_Php_Html - Fatal编程技术网

Javascript 使用PHP验证范围滑块

Javascript 使用PHP验证范围滑块,javascript,php,html,Javascript,Php,Html,我有一个简单的范围滑块,允许用户选择一个年龄 <div> <label for="age">Age: </label><label id="ageOutput"></label><br><br> <input type="range" id="age" name="vol" min="0&quo

我有一个简单的范围滑块,允许用户选择一个年龄

<div>
 <label for="age">Age: </label><label id="ageOutput"></label><br><br>
 <input type="range" id="age" name="vol" min="0" max="99" value="16">
 <br>
 <span class="error">* <?php echo $ageErr;?></span>
</div>

年龄:


*
我使用JavaScript用滑块的值更新标签

<script>
 var slider = document.getElementById("age");
 var output = document.getElementById("ageOutput");
 output.innerHTML = slider.value; // Display the default slider value

 slider.oninput = function() {
 output.innerHTML = this.value;
 }
</script>

var slider=document.getElementById(“年龄”);
var output=document.getElementById(“ageOutput”);
output.innerHTML=slider.value;//显示默认滑块值
slider.oninput=函数(){
output.innerHTML=this.value;
}
我试图使用PHP检查滑块的值,并验证它是否在16到90之间,但我一直得到一个错误,即“年龄”不存在

这是PHP:

if (($_POST["age"]) < 16 || ($_POST["age"]) > 90)
    {
      $ageErr = "Customers must be aged 16-90";
    } 
    else 
    {
      $rangeSlider = test_input($_POST["ageOutput"]);
    }
if($_POST[“age”])<16 | |($_POST[“age”])>90)
{
$ageErr=“客户年龄必须在16-90岁之间”;
} 
其他的
{
$RangeSlaider=test_输入($_POST[“ageOutput”]);
}

我真的不确定该从这里走到哪里,因为这个方法已经用于表单中的其他值。

您必须更改HTML代码中的某些部分

<input type="range" id="age" name="vol" min="0" max="99" value="16">

听说您必须将
name=“vol”
替换为
name=“age”

我认为在对代码进行这种更改之后,您的代码工作得很好。

您必须对HTML代码中的某些部分进行更改

<input type="range" id="age" name="vol" min="0" max="99" value="16">

听说您必须将
name=“vol”
替换为
name=“age”

我认为在对代码进行这种更改之后,您的代码运行良好。

对于您的问题,第二种解决方案是您必须创建一个隐藏的输入字段。
当您更改范围时,javascript代码会自动更改隐藏的输入值

<div>
 <label for="age">Age: </label><label id="ageOutput"></label><br><br>
 <input type="range" id="age" name="vol" min="0" max="99" value="16">
 <input type="hidden" id="setage" name="age"/>
 <br>
 <span class="error">* <?php echo $ageErr;?></span>
</div>

年龄:


*
听说是你的js代码:

<script>
    var slider = document.getElementById("age");
     var output = document.getElementById("ageOutput");
     var setage = document.getElementById("setage");
     output.innerHTML = slider.value; // Display the default slider value
     setage.value=slider.value;
     
     slider.oninput = function() {
      output.innerHTML = this.value;
      setage.value = this.value;
     }
</script>

var slider=document.getElementById(“年龄”);
var output=document.getElementById(“ageOutput”);
var setage=document.getElementById(“setage”);
output.innerHTML=slider.value;//显示默认滑块值
setage.value=slider.value;
slider.oninput=函数(){
output.innerHTML=this.value;
setage.value=this.value;
}

对于您的问题,第二个解决方案是您必须创建一个隐藏的输入字段。
当您更改范围时,javascript代码会自动更改隐藏的输入值

<div>
 <label for="age">Age: </label><label id="ageOutput"></label><br><br>
 <input type="range" id="age" name="vol" min="0" max="99" value="16">
 <input type="hidden" id="setage" name="age"/>
 <br>
 <span class="error">* <?php echo $ageErr;?></span>
</div>

年龄:


*
听说是你的js代码:

<script>
    var slider = document.getElementById("age");
     var output = document.getElementById("ageOutput");
     var setage = document.getElementById("setage");
     output.innerHTML = slider.value; // Display the default slider value
     setage.value=slider.value;
     
     slider.oninput = function() {
      output.innerHTML = this.value;
      setage.value = this.value;
     }
</script>

var slider=document.getElementById(“年龄”);
var output=document.getElementById(“ageOutput”);
var setage=document.getElementById(“setage”);
output.innerHTML=slider.value;//显示默认滑块值
setage.value=slider.value;
slider.oninput=函数(){
output.innerHTML=this.value;
setage.value=this.value;
}

如果这些东西不能正常工作,我有另一种方法来编写代码。如果这些东西不能正常工作,我有另一种方法来编写代码。