2009-09-30 6 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가 허용되는 장소에 넣지 않으면 원하는 것을 수행하지 못할 수도 있습니다.

슬라이더 값을 전달하는 한 가지 방법은 sliderValue 요소를 제출하는 양식에 넣는 것입니다.

이것이 옵션이 아닌 경우 slider_value 요소의 값을 Javascript로 설정할 수 있습니다. 하나는이 같은 형태에 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/what it called"이벤트에 함수를 바인드합니다. 또한 슬라이더 초기화시 입력 값을 초기 슬라이더 값으로 설정하십시오. 그 트릭을해야합니다.

관련 문제