Не отправлять форму, когда найдено текстовое слово с ограниченным доступом - PullRequest
0 голосов
/ 13 марта 2020

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

function validateMyForm() {
  var txtchck = document.getElementById("checktext").value;
  if (txtchk.value.indexOf('[') > 0) {
    alert("validation failed false");
    return false;
  }

  alert("validations passed");
  return true;
}
<form method="POST" action="" onsubmit="event.preventDefault(); validateMyForm();">
  <div class="row">
    <div class="_form_element _field4 _full_width">
      <div class="_field-wrapper">
        <textarea name="field[4]" id="checktext" class="form-control" placeholder="Tell us something ..." style="height: 78px;"></textarea>
      </div>
    </div>
  </div>

  <div class="_button-wrapper _full_width" style="text-align:center;">
    <button id="_form_13_submit" class="_submit" type="submit" style="width:60%; border-radius:4px !important;">Submit</button>
  </div>
</form>

Ответы [ 2 ]

0 голосов
/ 13 марта 2020

Вы можете проверить URL из regEx и preventDefault, если найден.

function myFunction(e){
 let url= document.getElementById('url').value
 if(url.match(/\bhttps?:\/\/\S+/gi)){
   alert('contains url '+url);
   e.preventDefault();
 }else{
   alert('does not contains url');
 }
 
}
<form onsubmit="myFunction(event)">
  Enter Url string : <textarea  id="url">https://www.google.com/</textarea>
  <input type="submit">
</form>
0 голосов
/ 13 марта 2020

Во-первых, в вашем скрипте есть ошибки:

  1. txtchk не определено, вы определили txtchck
  2. txtchck.value, что приведет к ошибке, потому что txtchck это уже значение ввода
  3. indexOf('[') > 0 передаст значение ввода, которое начинается с [

function validateMyForm()
{
  var txtchck = document.getElementById("checktext").value;
  if(txtchck.indexOf('[') >= 0)
  { 
    alert("validation failed false");
    return false;
  }

  alert("validations passed");
  return true;
}
<form method="POST" action="" id="_form_13_" class="_form _form_13 _inline-form  _dark" novalidate onsubmit="event.preventDefault(); validateMyForm();">
<div class="row">
    <div class="_form_element _field4 _full_width " >
        <label class="_form-label" style="color: #000 !important">
            Message
        </label>
        <div class="_field-wrapper">
            <textarea name="field[4]" id="checktext" class="form-control" placeholder="Tell us something ..." style="height: 78px;" ></textarea>
        </div>
   </div>
</div>

<div class="_button-wrapper _full_width"  style="text-align:center;">
    <button id="_form_13_submit" class="_submit" type="submit" style="width:60%; border-radius:4px !important;">Submit</button>
</div>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...