2015-02-13 3 views
0

У меня есть одна форма jQuery, в которой я отключу отправку формы до инициализации jQuery.jQuery disabled form отправляется при вводе

код выглядит примерно так

<form id="loginForm" role="form" class="form-horizontal col-md-8" action=""> 
    <input type="email"/> 
    <input type="password"/> 
    <input type="submit" class="disabled"> 
</form> 

(код немного упрощен.) Класс Уведомление 'инвалидов'

На JQuery стороне, я делаю это

$().ready(function() { 
    $("#loginBtn").removeClass("disabled"); // This ensures that javascript was loaded before button is pushable 
}); 

Проблема заключается в том, что кнопка загрузки страницы отключена, и пользователю не разрешено щелкнуть по ней. Но когда кнопка отключена, а пользователь заполняет форму и нажимает клавишу ввода. Форма отправляется.

Я хочу скрыть представление формы (любыми способами) до правильной загрузки jQuery.

Как я могу это достичь?

+0

Ввод установлен правильно атрибут id? Почему вы не используете отключенный атрибут вместо класса с ограниченными возможностями? – mgamon

+0

Посмотрите: [Отправка формы на 'Enter' с JQuery?] [1] [1]: http://stackoverflow.com/questions/699065/submitting-a-form-on-enter -with-jquery? rq = 1 –

+0

@mgamon Я пробовал это сделать. И по форме submit action я попытался вернуть false, но кажется, что не работает. –

ответ

0

Просто добавляемые onsubmit="return false" И это сработало.

<form id="loginForm" role="form" class="form-horizontal col-md-8" action="" onsubmit="return false"> 
0

Попробуйте это: изменить вашу форму Войти кнопку отправить, как показано ниже

$("#loginForm").submit(function() { 
    if($("#loginBtn").hasClass("disabled")) return false; 
    //rest of your code as it is 
     ..... 
} 

ПРИМЕЧАНИЕ - в соответствии с вашим HTML, кнопка отправки не id="loginBtn", пожалуйста, добавьте его.

+0

Я просто попытался написать предупреждение в этой функции, он вообще не выполняется. У меня есть одна функция '$ (" # loginForm "). Submit (function() {// some code}'. Это происходит из-за это –

+0

Да, это может вызвать проблемы. Пожалуйста, следуйте моему обновленному ответу. –

+0

Спасибо за ваши усилия, Bhushan. Но не могу использовать jQuery, поскольку он не инициализирован, вызывая проблему. –

0

Вы знаете, что установка класса = "отключена" на кнопке, фактически не отключает его, не так ли? ;-)

Я думаю, что вам нужно что-то вроде этого:

<form id="loginForm" role="form" class="form-horizontal col-md-8" action=""> 
    <input type="email"/> 
    <input type="password"/> 
    <input type="submit" disabled> 
</form> 

$(function() { 
    $("#loginForm input[type=submit]").attr("disabled", null); 
}); 

See JSFiddle here

+0

Как я уже говорил в этом вопросе, ** jQuery не инициализируется на этом этапе ** Так что это не сработает. Если jQuery инициализированный мой код работает отлично –

+0

Точка - это атрибут «disabled», а не jQuery. Если ваша проблема заключается в том, что форма отправляется w если кнопка отключена, мой код работает. – jcarrenog

Смежные вопросы