2016-11-02 1 views
0

url에 datepicker 값을 전달하려고합니다. 날짜를 선택할 때 형식은 "yyyy-mm-dd"입니다. 그리고이 형식이 필요합니다 "DD % 2Fmm % 2Fyyy"URL에 매개 변수를 전달하기 위해 datepicker 값을 조작하는 방법

내가 무슨 짓을 : HTML :

<form class="property-search-form border-box" action="reserva-online"> 
<div class="row"> 
    <div class="col-xs-12 col-sm-3 form-group"> 
     <h3>Fecha de entrada</h3> 
     <span id="datepicker"> 
      <input type="date" name="dfrom" value="" id="dfrom"> 
     </span> 
    </div> 
    <div class="col-xs-12 col-sm-3 form-group"> 
     <h3>Número de noches</h3> 
      <span> 
       <input type="number" name="nights" id="nights" value="" min="1" max="30"> 
      </span> 
    </div> 
    <div class="col-xs-12 col-sm-3 form-group"> 
     <h3>Código Descuento</h3> 
      <span> 
       <input type="text" name="decode" value="" size="40" class="wpcf7-form-control wpcf7-text dcode" id="dcode" aria-invalid="false"></span> 
    </div> 
    <div class="col-xs-12 col-sm-3 form-group reservarButton"> 
     <input type="submit" value="Buscar Ahora" onsubmit="my_redirect()" class="btn btn-primary btn-block form-control"> 
    </div> 
</div> 

JS : 내가 제출 이유

<script> 
    function my_redirect() { 
    var fecha = document.getElementById('dfrom').value; 
    var number=fecha.replace(/-/g,''); 
    var ano = number.substr(0, 4); 
    var mes= number.substring(4, 6); 
    var dia= number.substr(6, 7); 
    var noches = document.getElementById('nights').value; 
    var descuento = document.getElementById('dcode').value; 
    var url = "/?dfrom=" + dia + "%2F" + mes + "%2F" + ano + "&nights=" + noches + "&decode=" + descuento; 
     window.location = url; 
    } 
</script> 

을 URL은

대신

"/reserva-online/?dfrom=16%2F11%2F2016&nights=5&decode=32re32r" 

시간과 답변에 감사드립니다!

+0

% 252F' '와'%의 2F'을 대체하거나 [에 encodeURIComponent (https://developer.mozilla.org/en-US/docs/를 사용 웹/JavaScript/Reference/Global_Objects/encodeURIComponent)를 인코딩했습니다. –

+0

내가 해냈습니다. 나는 바뀐다

 var url = "/?dfrom=" + dia + "%252F" + mes + "%252F" + ano + "&nights=" + noches + "&decode=" + descuento; 
그러나 나의 URL은 여전히 ​​"reserva-online /? dfrom = 2016-11-17 & nights = 5 & decode = ewfweqf"이고, 내가 필요한 것은 17 % 2F11 % 2F2016이다. – fer

답변

0

나는 그것을 해결했다! 용액이었다

event.preventDefault(); 

는 :

<script> 
document.getElementById("sendButton").addEventListener("click", function(event){ 
    event.preventDefault(); 

    function my_redirect() { 
      var date = document.getElementById('calendar').value; 

      var year = date.substr(6, 9); 
      var month= date.substring(0, 2); 
      var day= date.substring(3, 5); 
      var nightsNumber = document.getElementById('nights').value; 
      var discount = document.getElementById('dcode').value; 

      var url = "reserva-online/?dfrom=" + day + "%2F" + month + "%2F" + year + "&nights=" + nightsNumber + "&decode=" + discount; 

      window.location = url; 
     } 
     my_redirect(); 
}); 
</script> 
관련 문제