2009-09-30 50 views
1

我想將滑塊的值以及他們輸入到表單中的一些內容通過電子郵件發送給我的PHP郵件腳本。這是形式的外觀,將數據傳遞給mailer.php的POST方法:將滑塊值傳遞給PHP郵件腳本時遇到問題

<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」)值是調用我做得到滑塊的值,但是當我將它傳遞給我隱藏的輸入slider_value的值我在我的php腳本發送的電子郵件中找回「document.getElementById('sliderValue')。value」。我將如何傳遞該值呢?

回答

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

將一個函數綁定到滑塊「onSlide/onChange /無論它叫什麼」事件,該事件將使用滑塊值更新隱藏的輸入字段。還要將輸入值設置爲slider init上的初始滑塊值。這應該夠了吧。