Всем привет. Я столкнулся с такой проблемой, я использую форму друпала для входа на сайт
<?php $form = drupal_get_form('user_login');
$output = drupal_render($form);
print $output; ?>
Ниже представлен код который она возвращает:
<div>
<div class="form-item form-item-name form-type-textfield form-group"> <label class="control-label" for="edit-name">Имя пользователя <span class="form-required" title="Это поле обязательно для заполнения.">*</span></label>
<input class="form-control form-text required" title="" data-toggle="tooltip" type="text" id="edit-name" name="name" value="" size="60" maxlength="60" data-original-title="Укажите ваше имя на сайте." aria-describedby="tooltip991071">
</div>
<div class="form-item form-item-pass form-type-password form-group"> <label class="control-label" for="edit-pass">Пароль <span class="form-required" title="Это поле обязательно для заполнения.">*</span></label>
<input class="form-control form-text required" title="" data-toggle="tooltip" type="password" id="edit-pass" name="pass" size="60" maxlength="128" data-original-title="Укажите пароль, соответствующий вашему имени пользователя.">
</div>
<input type="hidden" name="form_build_id" value="form-X3VP36vAZemEAwLAkoOYfzjO2l7NDRdfA3EqPn_byU4">
<input type="hidden" name="form_id" value="user_login">
<div class="form-actions form-wrapper form-group" id="edit-actions"><button type="submit" id="edit-submit" name="op" value="Войти" class="btn btn-primary form-submit">Войти</button></div>
</div>
</form>
Для кнопки я написал css где обозначил display:none для того чтобы не было ее отображения на форме, а можно было входить только нажав 'enter'
<button type="submit" id="edit-submit" name="op" value="Войти" class="btn btn-primary form-submit">Войти</button>
Но вот беда, в хроме работает все отлично, а в сафари хоть утыкайся кнопкой интер но так ничего не произойдет, как быть?
Комментарии
Какая версия ядра Drupal под какой осью и какая версия сафари?
Drupal core 7.56, запущен на osx sierra 10.13.3, сафари 11.0.3
Где CSS то ?
css врядли может повлиять на работу, поэтому я его не добавлял, зачем лишний код сюда копипастить
То есть, если убрать display:none - кнопка тоже не работает?
кнопка то работает если ее открыть и по ней нажимать, суть в том чтобы было без нее
Так enter то работает в safari, если CSS убрать, так?
Как вариант форсированно забиндить enter на отправку форму через jquery.
Имхо, у вас на уровне темизации/form_alter где-то баг, т.к. стандартно вывод кнопки будет таким:
<?php
<input id="edit-submit" value="Войти" name="op" class="form-submit" type="submit">
?>
P.S. Отпишитесь в личку, потестим вместе разные формы и сафари.
Вполне вероятно, что у вас какой-то яваскрипт блокирует отправку. Откуда берутся вот эт data-tooltip на инпутах?
Шикарная логика. Я написал CSS и он не работает, CSS приводить смысла нет, я же знаю, что он не при чем. Но если его убрать - все работает. Но CSS нафиг не нужен все равно
Вообще-то, русским языком написано, что проблема не в цсс, а в отправке формы по энтеру.
Вообще то русским языком написано, что в проблема в CSS - ибо при убирании написанного куска кода в CSS все начинает работать
только дело в том что меня спросили конкретно про работу кнопки, про ее работу я и ответил. Про работу при нажатии 'enter' если убрать css - это вы сами додумали и в это свято верите.