【问题标题】:Trouble passing slider value to php mail script将滑块值传递给 php 邮件脚本时遇到问题
【发布时间】:2009-09-30 23:12:45
【问题描述】:

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

【问题讨论】:

    标签: php html slider


    【解决方案1】:

    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;
    }
    

    【讨论】:

      【解决方案2】:

      将函数绑定到滑块“onSlide/onChange/whatever it's called”事件,该事件将使用滑块值更新隐藏的输入字段。还将输入值设置为滑块初始化上的初始滑块值。这应该可以解决问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-28
        • 1970-01-01
        • 2012-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多