Я не очень разбираюсь в javascript, и я пытаюсь вытащить входные значения формы, построить ссылку для передачи значений и отправить пользователя по этой ссылке при нажатии кнопки.

Я не уверен, как выполнить оба этих действия onClick.

Вот что у меня сейчас есть:

<script>
function myFunction() {
  var firstname = document.getElementById("firstname").value;
  var lastname = document.getElementById("lastname").value;
  var email = document.getElementById("email").value;
  var phone = document.getElementById("phone").value;
  var link = 'https://app.squarespacescheduling.com/schedule.php\?owner=21917237&appointmentType=20129186&firstName=' + firstname + '&lastName=' + lastname + '&email=' + email + '&phone=' + phone;
}
</script>

И это то, что я пытаюсь встроить в свой элемент кнопки:

<div class="de elBTN elAlign_center elMargin0 ui-droppable de-editable" id="tmp_button-86409" data-de-type="button" data-de-editing="false" data-title="button" data-ce="false" data-trigger="none" data-animate="fade" data-delay="500" style="margin-top: 30px; outline: none; cursor: pointer; display: block;" aria-disabled="false" data-elbuttontype="1">
<a onclick={myFunction(), onclick="location.href=link;"} class="elButton elButtonSize1 elButtonColor1 elButtonRounded elButtonPadding2 elBtnVP_10 elButtonCorner3 elBtnHP_25 elBTN_b_1 elButtonShadowN1 elButtonTxtColor1 elButtonFull" style="color: rgb(255, 255, 255); font-weight: 600; background-color: rgb(1, 116, 199); font-size: 26px;">
<span class="elButtonMain"><i class="fa_prepended fa fa-angle-double-right"></i>Let's Get Started<i class="fa_appended fa fa-angle-double-left"></i></span>
<span class="elButtonSub"></span>
</a>
</div>

Мне нужно отправить пользователя по ссылке, созданной в var link. Как лучше всего этого добиться?

Благодарность!

-1
Preston G 11 Фев 2021 в 17:19

2 ответа

Лучший ответ

Сгруппируйте действия в одну функцию, чтобы удовлетворить ваши потребности.

//function declaration
<script>
function myFunction() {
  var baseUrl = 'https://app.squarespacescheduling.com/schedule.php\owner=21917237&appointmentType=20129186'
  
  var data = {
    firstname: document.getElementById("firstname").value,   //if using ts, can add ? for checking the existence of ```document.getElementById('firstname')?.value
    lastname: document.getElementById("lastname").value,
    email: document.getElementById("email").value,
    phone: document.getElementById("phone").value,
  }
  
  //do some checking
  var unvalidElem = Object.values(data).filter(eachValue => eachValue !== undefined || eachvalue !== null)

  //if all elements valid, then go to the link
  if(unvalidElem.length === 0){
      location.href = `${baseUrl}&firstName=${firstname}&lastName=${lastname}&email=${email}&phone=${phone}`
  }
</script>


//actually invoke
<a onclick={myFunction();"}
1
tsecheukfung01 11 Фев 2021 в 14:41

Добавьте это в конце своей функции, как только вы создадите свой URL:

   location.href = "yourUrl";
1
mrcrag 11 Фев 2021 в 19:31
66156489