Используйте URL-адрес действия формы, только если функция jquery верна - PullRequest
0 голосов
/ 18 декабря 2018

Я искал часы и пробовал найти другие примеры кода здесь и в других местах, но, похоже, ничего не работает.

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

function isEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9] . 
{2,4})+$/;
return regex.test(email);
}






function validateForm() {
if( !isEmail( document.getElementById('email_address').value ) ) { 
  var err = document.getElementById('error');
   err.show();
  $( "#submit" ).click(function( event ) {
event.preventDefault();
    return false;
 } else { 
    return true;
 }    
 }

и HTML выглядит так

    <p id="error">Please enter your email address</p>

<form id="myForm" method="post" 
action="https://fe3e15707564057a7d1470.pub.s10.sfmc- 
content.com/tfuryofct5y? 
optc=%%=v(@optc)=%%&brand=%%=v(@brand)=%%&ceid=%%=v(@ceid)=%%" 
  onsubmit="return validateForm();">

<input type="text" placeholder="email address" name="email_address" 
id="email_address" align="center"/>

<p style="text-align:center;overflow:hidden;float:right;padding- 
right:8em;">
  <input id="submit" type="submit" value="Unsubscribe" ></p>
 </form>

Jquery не моя сильная сторона, поэтому они могут быть далеко.

1 Ответ

0 голосов
/ 19 декабря 2018

Вы смешиваете javascript и jquery и заставляете onclick отправить форму.

function validateForm() {
   var err = $('#error');
   if( !isEmail( document.getElementById('email_address').value ) ) {       
      err.show();
      return false;
   } else {
      err.hide();
      return true;
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...