2015-12-02 3 views
0

Я пытаюсь передать переменные в URL, как это, чтобы заполнить HTML и жидкую форму и представить его, как только он населен:Ввода переменных URL в HTML-форму с JS или JQuery

http://www.example.com/[email protected]&customer_password=123456

Ближайшей вещь Я нашел то, что я пытаюсь достичь, это this question. Я теряю мрамор, потому что не понимаю, как переменные помещаются в форму.

Может кто-нибудь прорвать его/объяснить?

Вот код формы:

{% form 'customer_login' %} 
 

 
     <h1>Login</h1> 
 

 
     {% include 'form-errors-custom' %} 
 

 
     <label for="customer_email" class="hidden-label">Email Address</label> 
 
     <input type="email" value="" name="customer[email]" id="customer_email" placeholder="Email" {% if form.errors contains "email" %} class="error"{% endif %} autocorrect="off" autocapitalize="off" autofocus> 
 

 
     {% if form.password_needed %} 
 

 
     <label for="customer_password" class="hidden-label">Password</label> 
 
     <input type="password" value="" name="customer[password]" id="customer_password" placeholder="Password" {% if form.errors contains "password" %} class="error"{% endif %}> 
 

 
     <p> 
 
      <a href="#" onclick="showRecoverPasswordForm();return false;">Forgot your password?</a> 
 
     </p> 
 

 
     {% endif %} 
 

 
     <div class="text-center"> 
 
     <p> 
 
      <input type="submit" class="btn" value="Sign In"> 
 
     </p> 
 
     or <a href="{{ shop.url }}">Return to Store</a> 
 
     </div> 
 

 
    {% endform %}

+0

я так не JS и JQuery здесь. вы, возможно, неправильно указали свой вопрос (также в своей голове) – mkoryak

+0

См. главный ответ на этот вопрос о том, как читать параметры URL-запроса: http://stackoverflow.com/questions/979975/how-to-get-the- value-from-the-url-parameter – mariocatch

ответ

0

Если вы хотите получить параметры со стороны клиента URL (используя JS/Jquery в соответствии с вашими тегами), вы можете получить строку запроса (используя location.search) и извлечь пары ключ/значение, а затем выделить их как бы вы ни пожелали.

//var str = location.search 
 

 
var str = '[email protected]&customer_password=123456'; 
 
var pairs = str.split('&'); 
 
var email = pairs[0].split('=')[1]; 
 
var password = pairs[1].split('=')[1]; 
 
$('#customer_email').val(email); 
 
$('#customer_password').val(password);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input type="email" value="" name="customer[email]" id="customer_email" placeholder="Email" autocorrect="off" autocapitalize="off" autofocus> 
 

 

 
<input type="password" value="" name="customer[password]" id="customer_password" placeholder="Password" class="error"{% endif %}>

+0

Спасибо за ваш ответ @sideroxylon. Я немного смущен насчет дива, не могли бы вы объяснить? Я не могу заставить его правильно заполнять форму в полях электронной почты и пароля. – Trees

+0

Я только что вывел два значения, чтобы их можно было увидеть. Чтобы поместить их в форму, вы бы сделали что-то вроде '$ ('# customer_email'). Val (email)' и '$ ('# customer_password'). Val (password)'. Это ставит значения в названных элементах. Я обновил ответ, чтобы использовать ваши входы. – sideroxylon

+0

Большое вам спасибо за ваши усилия, вы фантастичны! Сейчас у меня это работает. :) – Trees

0

параметры, которые передаются в URL, как в вашем случае подобны get запросу и могут быть получены таким же образом, как вы получат параметры, представленные формой с method="get". А затем вы поместите переменную в атрибут value полей формы на текущей странице.

Смежные вопросы