Проверка onChange для отправки

#javascript #html

#javascript #HTML

Вопрос:

Для поля у меня есть проверка для события onChange (). Когда я изменяю поле и нажимаю на кнопку отправки. Проверяет ли события onChange () проверку.

В моем случае это не проверка.

Пожалуйста, любая помощь или предложения

 <textarea id='abc' name='abc' onChange="checkvalidation('abc','true')>ddd</textarea>

function checkvalidation(field, numericOrNot){
var Value = '#'   field;
    var fieldval = $(field).val();
    if(numericOrNot) {
        if(isNaN(fieldval)) {
            alert("not a number");
            return false;
        }
    }
    return true;
}
  

Комментарии:

1. Используете ли вы jQuery? Кроме того, нажатие на onchange , чтобы вернуть значение в текстовой области к его предыдущему значению, не сработает. Вам нужно будет подключиться к keydown событию.

Ответ №1:

Событие onChange должно срабатывать, когда вы изменили значение поля формы и убрали фокус с этого поля. Она должна сработать до того, как вы нажмете кнопку отправки.

Однако в вашем HTML-файле отсутствует заключительная кавычка после ) .

 <textarea id='abc' name='abc' onChange="checkvalidation('abc','true')">ddd</textarea>
//-------------------------------------------------------------------^
  

Вот как изменить ваш код, чтобы он использовал data- атрибут для определения типа данных.

HTML

 <textarea id='abc' name='abc' data-type="number">ddd</textarea>
  

Код jQuery

 $("#abc").change(function() {
  var $this = $(this);
  if($this.data("type") == "number") {
    if(isNaN($this.val())) {
      alert("not a number");
    }
  }
});
  

Пример того, как запустить этот код при отправке формы

 $("form").submit(function(e) {
  var $this = $("#abc");
  if($this.data("type") == "number") {
    if(isNaN($this.val())) {
      alert("not a number");
      e.preventDefault();
    }
  }
});
  

Комментарии:

1. Кто-нибудь может мне помочь, как использовать jquery.data () для привязки значения ‘true’ и проверки отправки

2. итак, приведенный выше код работает только тогда, когда мы меняем значение не во время отправки формы, верно?

3. Это правильно. На вашем месте я бы отказался от этой попытки и использовал плагин проверки, подобный: bassistance.de/jquery-plugins/jquery-plugin-validation

4. Можем ли мы что-то сделать с этим кодом, чтобы выполнять проверку при отправке формы

5. Хорошо, я добавил еще один пример того, как использовать его в Submit. Но ради всего святого! Вам действительно нужно заранее написать свой вопрос со ВСЕЙ соответствующей информацией.