2012-08-03 51 views
1

如何獲取座標表單中的範圍滑塊的值?如何在PHP中獲取/獲取HTML5 Range Slider的值?

我無法通過從名稱中詢問來從中獲得價值。

我用這個JavaScript函數形式滑塊

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

莫非我從股利或類似的東西叫旁邊打出來的價值?

編輯! 好吧,我們走吧,對不起,如果我把你們都混淆了,但英語不是我的母語。我會盡力解釋。

我有一個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範圍內的值或什麼?

+0

爲什麼你需要使用Javascript來檢索值?您提交表單時不能檢索該值嗎? – Jocelyn 2012-08-03 01:31:32

+0

'document.getElementById(「range」).value'應該得到滑塊的當前值 – mariusnn 2012-08-03 01:43:35

+0

嗯,我想顯示用戶的值,沒有值的滑塊是相當無用的..那就是爲什麼javascript。但是我仍然需要從表單中獲得價值。 – isbjorn 2012-08-03 01:44:49

回答

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 [‘富’]上他們。

因此,以相同的方式,範圍滑塊的值也可在$_POST數組中使用。我假設你正在使用action=POST,因爲你提到$name = $_POST['name']

因此,要獲得這種特殊的範圍欄,使用值:

$range_slider_value = $_POST["passengers"]; 

當然,你應該看看消毒的形式輸入,所有的其他類型的外國投入。

一個功能齊全的片段,顯示用戶計算機上的價值,因爲他/她改變滑塊和表單的提交,它給你的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.

不要confus e具有PHP功能的Javascript功能。 PHP Works服務器端並且一旦生成頁面就不能改變任何東西。 Javascript在客戶端工作,並且可以在頁面渲染後改變頁面。

你說if maybe I could access the value from the div id range or something ..
在jQuery中,可以獲取一個Div的價值,並能與表單數據一起提交,但你並不需要走這條路。一個簡單的$_POST["passengers"];會做。

+0

必須完成一些拼寫錯誤,因爲我試圖以與所有其他輸入值相同的方式獲取它。但現在它效果很好。謝謝! – isbjorn 2012-08-05 00:28:07

+0

很高興知道它幫助.. – DavChana 2012-08-05 01:57:30

-1

document.getElementById("range").value應該得到滑塊的當前值。

要改變這個值,這將是javascript.code;

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

如果渲染的PHP,你可以簡單地直接插入值滑塊:

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