Отправить URL текущей страницы как скрытое поле с несколькими формами на одной странице (Javascript) - PullRequest
0 голосов
/ 10 февраля 2020

Я настраиваю некоторые формы на веб-сайте, где одна и та же форма будет отображаться несколько раз на одной странице (поэтому я не могу использовать getElementById здесь).

Я перепробовал все Я могу найти текущий URL, чтобы передать его как скрытое поле, но не могу понять. Спасибо за любую помощь!

HTML

<form>
    <input type="email" name="email-address" placeholder="Your work email" />
    <input type="button" class="btn btn-inline" value="Submit info" />
    <input type="hidden" name="convertURL" value="" />
</form>

Текущий сценарий

<script>
    document.getElementsByName("convertURL").value = window.location.href;
</script>

Сценарий отправки формы

Если это полезно, отправьте форму следующим образом:

<script>
$('input[type="button"]').click(function(e){
    e.preventDefault();
    $.ajax({
        url:'https://examplesite.com/',
        type:'post',
        data:$(this.form).serialize(),
        success:function(){
          window.location = "/success";
        }
    });
});</script>

Ответы [ 2 ]

0 голосов
/ 10 февраля 2020
$('input[type="button"]').click(function(e){

   e.preventDefault();

   let currentUrl = window.location.href; 

   let data = $(this.form).serializeArray();

   //remove the input from the form and append the url as below,
   data.push({name: 'convertURL', value: currentUrl});

    $.ajax({
        url:'https://examplesite.com/',
        type:'post',
        data:data,
        success:function(){
          window.location = "/success";
        }
    });
});


0 голосов
/ 10 февраля 2020

Если вы используете jquery, это решит проблему.

$('[name=convertURL]').val(window.location.href);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...