3

フォームにあるレンジスライダーの値を取得するにはどうすればよいですか?

名前から聞いても価値が出ない。

この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しかし、私自身はもちろん、この値をメール送信にも取り入れたいと思っています。範囲名から値をリクエストできません。だから私は多分私はdivid範囲か何かから値にアクセスできるかどうか疑問に思いましたか?

4

2 に答える 2

8

したがって、現在の値をそれ自体と一緒に表示するスライダーが必要であり、フォームが送信されると、アクションファイル (mail.php) はスライダーの選択された値を取得/取得してさらに処理します。右??

私はそれを信じています:

あなたはあなたの質問にタイトルを付けました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 の値を取得するには、次を使用します。

$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.";
}
?>

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 はサーバー側で動作し、ページが生成されると何も変更できません。Javascript はクライアント側で機能し、レンダリングされた後でもページを変更できます。

あなたは言っif maybe I could access the value from the div id range or somethingた..jQuery
では、aの値をフェッチDivしてフォームデータと一緒に送信することができますが、そのルートに行く必要はありません。簡単$_POST["passengers"];にできます。

于 2012-08-03T12:44:56.267 に答える
-1

document.getElementById("range").valueスライダーの現在の値を取得する必要があります。

値を変更するには、これはjavascript.codeになります。

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

PHPでスライダーをレンダリングする場合は、値を直接挿入するだけです。

<input id="range" type="range" value="<?$theValue?>"/>
于 2012-08-03T01:44:50.450 に答える