如何在PHP中获取/获取HTML5 Range Slider的值?

时间:2012-08-03 01:14:48

标签: php forms html5

如何获取位于表单中的范围滑块的值?

只是从名字中询问,我无法从中获得价值。

我使用此JavaScript函数在滑块

旁边的表单中键入值
    function showValue(newValue)    {
    document.getElementById("range").innerHTML=newValue;    }

我可以从div或类似的东西打电话吗?

修改<!/强> 好的,我们走了,如果我让你们大吃一惊,我很抱歉,但英语不是我的母语。我会尝试解释。

我在HTML5中有一个联系表单,用于将数据提交到mail.php

<input type="text" name="name"/>
<input type="email" name="email"/>

mail.php中,我通过

从输入框中获取值
$name = $_POST['name'];
$email = $_POST['email'];

然后进一步处理以发送实际邮件。

到目前为止,这么好吗?

我有一个范围滑块,用于确定用户想要预订的乘客数量。

<input type="range" min="1" max="12" step="1" value="1" name="passengers" onchange="showValue(this.value)" />
<span id="range">1</span></p></div>

我使用JavaScript函数,因为我想在用户进行表单时向用户显示当前选定的滑块值。

但我自己当然希望在mail.php中将此值也发送到发送邮件中。我不能从范围名称请求值。所以我想知道我是否可以访问div id范围内的值或什么?

2 个答案:

答案 0 :(得分:8)

因此,您需要一个滑块,它会自动显示其当前值,并且在提交表单时,您的操作文件(mail.php)获取/检索Slider的选定值以进一步处理。右??

我相信因为:

您标题为Send HTML 5 range slider value to mail via php,我将其解释为How to get the value of this range-slider in mail.php.

你说通过对它们执行$ _POST [“foo”]来获取输入文本框的值。

因此,同样地,Range Slider的值也可以在$_POST数组中使用。我假设您使用的是action=POST,因为您提到了$name = $_POST['name']

因此,要获取此特定范围滑块的值,请使用:

$range_slider_value = $_POST["passengers"];

当然,您应该考虑清理表单输入和所有其他类型的外部输入。

一个功能齐全的代码段,在用户计算机上显示值,因为他/她更改了滑块,并在Form-submit上将其提供给您的mail.php:

<form action="" method="POST">
    <input type="range" min="1" max="12" step="1" value="1" id="foo" name="passengers" onchange='document.getElementById("bar").value = "Slider Value = " + document.getElementById("foo").value;'/>
<input type="text" name="bar" id="bar" value="Slider Value = 1" disabled />
<br />
<input type=submit value=Submit />
</form>

<?php
if(isset($_POST["passengers"])){
    echo "Number of selected passengers are:".$_POST["passengers"];
    // Your Slider value is here, do what you want with it. Mail/Print anything..
} else{
Echo "Please slide the Slider Bar and Press Submit.";
}
?>

Live Demo at Codepad.viper-7.com

引用http://www.html5tutorial.info/html5-range.php
Value is a common attribute of "Input" element. The value can be any valid floating point number, not necessary must be an integer number. Default value is minimum value plus half of the maximum value.

不要将Javascript功能与PHP功能混淆。 PHP Works服务器端,一旦生成页面就无法改变任何内容。 Javascript适用于客户端,即使在呈现页面后也可以更改页面。

你说if maybe I could access the value from the div id range or something ..
在jQuery中,可以获取Div的值并且可以与表单数据一起提交,但是您不需要去那条路线。一个简单的$_POST["passengers"];即可。

答案 1 :(得分:-1)

document.getElementById("range").value应获取滑块的当前值。

要更改值,这将是javascript.code;

function showValue(newValue) {
    document.getElementById("range").value = newValue; }

如果您通过PHP渲染滑块,则只需直接插入值:

<input id="range" type="range" value="<?$theValue?>"/>