2014-12-06 2 views
0

그래서 양식이 있고 그 일환으로 datetime 입력과 함께 날짜와 시간을 입력해야합니다.자바 스크립트를 사용하여 datetime 입력을 읽고 다음 페이지에 표시하는 방법

<form action="confirmForm.html"> 
<p>What date and time suits you? </p> 
<input id="datetime" type="datetime-local" /> 
</form> 

다음 페이지에는 span 태그가 있습니다.

<body onload="formConfirm();"> 
<span id="confirm"></span> 
</body> 

그리고 내 자바 스크립트

..

var test = document.getElementById('datetime').value; 
document.getElementById("confirm").innerHTML = test; 

나는 스팬 태그에 날짜를 인쇄 할 것으로 예상하지만, 아무것도하지 않는다. 경고 (테스트)로 시도해보십시오. 역시 거기에는 아무 것도 없습니다. 이것에 대해 꽤 혼란 스럽습니다.

편집 : 오, 양식에 제출 버튼이 있으며 여기에 포함하는 것을 잊었습니다.

답변

0

다음 페이지의 양식 값에 액세스하려면 get 또는 post 메소드를 사용하여 전달해야합니다. <form> 요소에 method 속성을 사용하여 사용할 요소를 지정하십시오.

일반적으로 서버에서 처리 할 양식 데이터를 보내려면 post을 사용해야합니다 (PHP 또는 다른 서버 측 언어 사용). 즉,이 questionpost을 JavaScript와 함께 사용하는 데 유용 할 수 있습니다.


편집 :
this 대답에 따라 당신은 의미가 클라이언트 측에 JS에서 post 변수에 액세스 할 수 없습니다.

그러나 여기가 get 함께 :
당신을 확인하십시오
이 양식 페이지에 중요한

<body onload="formConfirm()"> 
    <span id="confirm"></span> 
    <script> 
     function formConfirm() { 
      var dt = getParameterByName('datetime'); 
      alert(dt); 
      document.querySelector('#confirm').innerHTML = dt; 
     } 

     function getParameterByName(name) { 
      name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); 
      var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), 
       results = regex.exec(location.search); 
      return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
     } 
    </script> 
</body> 

뭔가를

confirmForm.html을 (URI를 구문 분석 this 솔루션을 사용) 모든 필드에 name 속성을 부여하십시오.

<form action="confirmForm.html" method="get"> 
    <p>What date and time suits you? </p> 
    <input id="datetime" type="datetime-local" name='datetime'/> 
    <button type="submit">Submit</button> 
</form> 
+0

나는 method = "get"및 method = "post"로 시도했지만 아무도 작동하지 않았습니다. –

+0

@DavidLawlor, 내 편집 된 답변보기. – Nelu

관련 문제