麻烦将滑块值传递给php邮件脚本

时间:2009-09-30 23:12:45

标签: php html slider

我想将滑块的值以及他们输入表单的一些内容通过电子邮件发送到我的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脚本发送的电子邮件中。我将如何传递该值呢?

2 个答案:

答案 0 :(得分:2)

document.getElementById是一个Javascript函数。除非你把它放在接受Javascript的地方,它可能不会做你想要的。

传递滑块值的一种方法是将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;
}

答案 1 :(得分:0)

将一个函数绑定到滑块“onSlide / onChange /无论它叫什么”事件,它将使用滑块值更新隐藏的输入字段。同时将输入值设置为滑块init上的初始滑块值。这应该可以解决问题。