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;
}
如果这些东西不能正常工作,我有另一种方法来编写代码。如果这些东西不能正常工作,我有另一种方法来编写代码。