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 的地方,否则它可能不会做你想做的事。

传递滑块值的一种方法是将滑块值元素放入您提交的表单中。

如果这不是一个选项,您可以使用 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/whatever it's called”事件,该事件将使用滑块值更新隐藏的输入字段。还将输入值设置为滑块初始化上的初始滑块值。这应该够了吧。

于 2009-09-30T23:16:59.383 回答