У меня есть некоторая клиентская проверка JavaScript на форме. Это работает отлично. Но я хочу разместить пользователей, которым отключили JavaScript. Моя проверка не выполняется от атрибута onsubmit формы, это - обработчик событий, который связывается с нормальной кнопкой в форме. Таким образом, кнопка, которая начинает проверку и отправляет, не является на самом деле отправлением, это - просто тип = "кнопка":
<input type="button" value="Ok" class="okbtn">
Затем я регистрирую обработчик событий к его событию щелчка, которое делает мою проверку. Это отправляет, передает ли все:
function clickHandler(event){
thisForm = event.data.caller
var valid = submitValidation(thisForm);
if (valid == true){
thisForm.submit();
} else{
}
}
Моя проблема состоит в том, если у пользователя есть отключенный JS, нет никакого способа отправить форму. Я мог сделать кнопку type="submit"
, который работал бы на пользователей JS-disabled, но затем это будет *всегда отправлять форму и обходить проверку для пользователей JS-enabled. (Проверка будет работать, но она отправит так или иначе). Если я делаю кнопку type="submit"
действительно ли я могу заблокировать отправлять событие, если оно нажато? Я использую JQuery, JQuery может подавить отправление? Я хочу, чтобы моя проверка обработала, отправлена ли она.
Вы можете подавить повторные щелчки, делая что-то вроде:
$('input[type=submit]').bind('click', function(e) {
e.preventDefault() // prevents the form from being submitted
clickHandler(); // the custom submit action
});
или, вы можете подавить фактическую форму, как это:
$('form').bind('submit', function(e) {
e.preventDefault();
// etc
});
Измените кнопку на нормальную кнопку отправки и Привязать проверку проверки к событию Отправить ()
в форме.
$("form").submit(function() {
if (!submitValidation()) {
return false;
}
});
Из документов:
Отправить
событие
элемент, когда пользователь пытается отправить форму. Это может быть только прикреплено к элементам. Формы могут быть отправлено либо нажав на Явный<Тип ввода = «Отправить»>
,<тип ввода = «изображение»>
, или<кнопка Тип = «Отправить»>
или нажав Enter Когда определенный элемент формы имеет фокус.
Отсутствует открытый API для взаимодействия с WebInspector через DOM или Cocoa. Вы должны подать запрос на расширение по адресу https://bugreport.apple.com/ с запросом этого API.
InspectorController - это также внутренняя информация о реализации WebInspector и его вероятная ошибка на веб-сайте документации.
-121--3579292-Не проверено, но согласно документации API Rails , может быть, что-то вроде:
class Couple < ActiveRecord::Base
has_one :person, :foreign_key => :first_person_id
has_one :person, :foreign_key => :second_person_id
end
-121--3894455- Вы можете подавить отправку, установив обработчик onsubmit в элементе form
, а затем в случае неудачи проверки вернуть значение false.
Таким образом, вы возвращаете значение true, если проверка выполнена успешно, или false, если она завершилась неуспешно, вместо вызова thisForm.submit ()
.