1

スライダーの値を、フォームに入力したものと一緒にphpメールスクリプトにメールで送信したいと思います。これは、mailer.phpのPOSTメソッドにデータを渡すフォームの外観です。

<form method="POST" action="mailer.php">
   Name:
   <input type="text" name="name" size="19"><br>
   <br>
   E-Mail:
   <input type="text" name="email" size="19"><br>
   <input type="hidden" name="slider_value" size="19" value=document.getElementById('sliderValue').value><br>
   <br>
  <input type="submit" value="Submit" name="submit">
</form>

document.getElementById('sliderValue')。valueは、スライダーの値を取得するために行う呼び出しですが、これを非表示の入力slider_valueの値に渡すと、「document.getElementById('sliderValue')。value」が返されます。私のphpスクリプトによって送信される電子メールで。代わりに値を渡すにはどうすればよいですか?

4

2 に答える 2

2

document.getElementByIdはJavascript関数です。Javascriptが受け入れられる場所に置かない限り、おそらくあなたが望むことをしないでしょう。

スライダー値を渡す1つの方法は、送信するフォームにsliderValue要素を配置することです。

それがオプションでない場合は、Javascriptを使用してslider_value要素の値を設定できます。onsubmit属性を次のような形式に設定します。

<form method="POST" action="mailer.php"
    onsubmit="this.slider_value.value = document.getElementById('sliderValue').value">

または、イベントリスナーを追加して実行します。

var form = document.forms[0];    //this may need to be changed depending on your form

function addSliderValue() {
    this.slider_value.value = document.getElementById('sliderValue').value;
}

if (form.addEventListener) {    //most browsers
    form.addEventListener("submit", addSliderValue, false);
} else if (form.attachEvent) {    //IE
    form.onsubmit = addSliderValue;
}
于 2009-09-30T23:18:21.830 に答える
0

非表示の入力フィールドをスライダー値で更新する関数をスライダーの「onSlide/onChange/呼び出されたもの」イベントにバインドします。また、入力値をスライダー初期化の初期スライダー値に設定します。それでうまくいくはずです。

于 2009-09-30T23:16:59.383 に答える