2015-02-04 3 views
-1

Похожие на следующий вопрос (примечание следующий вопрос связан с Symfony 2.3 - я не знаю, что это такое, я просто с помощью HTML):Можно ли игнорировать проверку HTML5 определенной кнопкой?

How to disable html5-validation for specific buttons in symfony 2.3

Можно ли обход HTML5-проверки (required) для конкретной кнопки в HTML?

<form name="loginform" autocomplete="off" id="loginform" action="" method="post"> 
      <nav class="clearfix"> 
       <ul class="clearfix"> 
        <li><input class="username" type="text" id="username" required placeholder="Username"></li> 
        <li><input class="password" type="password" id="password" required placeholder="Password"></li> 
        <li><button name="register" class="register">Register</button> 
        <button name="login" class="login">Log in</button></li> 
       </ul> 
       <a href="#" id="pull">Menu</a> 
      </nav> 
    </form> 

Мне не нужна проверка, если регистр кнопка нажата.

if(isset($_POST['register'])) { 
    header("Location: register.php"); 
} 

Редактировать: способ сделать это без изменения структуры формы или смены кнопки :).

+0

как насчет удаления других кнопок нажав кнопку регистрации? ИЛИ есть кнопка регистрации в другом наборе форм? – atmd

+0

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

+0

Существует много способов сделать это в зависимости от того, как вы хотите продолжить: выньте кнопку из ' form', включите кнопку в якорь, предварительно обработайте кнопки с помощью JS ... –

ответ

1

Добавить прослушиватель событий нажмите на кнопку регистра. Когда она нажата, делать все, что вы хотите сделать (перенаправление с window.location = ".....") и возвращает ложь, чтобы предотвратить представление по умолчанию:

$("#register").on("click", function() { 
    alert("I am executed before the HTML5 check!"); 
    return false; 
}); 

Вы можете увидеть пример здесь: http://jsfiddle.net/89z4Lu91/

+0

Это работает, но что, если JS отключен? –

+2

Используйте атрибут 'formnovalidate'. Посмотрите на этот пример: http://jsfiddle.net/89z4Lu91/1/ –

+1

BTW, решение 'formnovalidate 'появилось здесь: http://stackoverflow.com/questions/18725078/bypass-html-required-attribute-when -улучшение (вы можете найти хорошее объяснение и источники там) –

0

К кнопке регистра использовать только <a href="bla">register</a> или поставить botons, и на входы представить добавить форму Аттрибут

+0

Прочтите мой комментарий выше, пожалуйста. –

+0

Вы пробовали атрибут формы в кнопке регистрации? (опция без js и добавление пустой формы: S) – wmaikows

+0

Alvaro Montoro комментирует и другие варианты – wmaikows

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