2015-02-27 4 views
1

Я создал форму с кнопкой отправки, кнопка отправки находится за пределами фактической формы, но ее таргетинг на форму, используя атрибут формы, например.Кнопка формы не работает в IE11

<form id="myform"> 
</form> 

<button form="myform"></button> 

Приносим извинения за пример недели. Это работает во всех браузерах, кроме IE 11. IE 8-10 работает на 100%. Любые идеи о том, как я могу это исправить. Я предпочитаю не писать сценарии. Я могу сделать это с помощью jQuery, но я предпочитаю просто держать его в чистоте, если это возможно

+0

Почему вы не используете внутри тега формы? Это не очень хороший способ поместить кнопку вне тега формы. – hamed

+0

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

+0

[Документация по IE] (https://msdn.microsoft.com/en-us/library/ie/ms533768%28v = vs.85% 29.aspx) говорит: «Получает ссылку на форму, которую объект _embedded in_». – Teemu

ответ

1

Это решение с одним щелчком мыши и линией css. (Минимально)

Если ваша кнопка должна быть вне формы из-за дизайна пользовательского интерфейса.

Я хотел бы предложить вам добавить вход представить кнопки/в виде:

<form id="myform"> 
    <input type="button" value="Submit" class="myButton" /> 
</form> 
<button id="outerBtn">Submit</button> 

Скрыть вход:

.myButton {display:none;} OR {visibility:none;} 

Использование JQuery, чтобы вызвать нажмите на кнопку ввода в форме:

$('#outerBtn').on('click', function(e){ 
    e.preventDefault(); 
    $('.myButton').trigger('click'); 
}); 

Только несколько быстрых ответов. Должно быть хорошо. Если вы не хотите писать сценарий, я бы предложил вам просто оставить кнопку ввода/отправить в форму.

+0

Это прекрасно работает, но нет ли способа игнорировать jQuery? Почему это не работает в IE 11, я не могу найти объяснения где-нибудь – Philip

+0

@hamed прав, неправильно вводить кнопку вне формы, когда вы хотите взаимодействовать с этой формой. Да, прямо сейчас, на основе вашего тестирования IE11 может иметь проблемы, но я полагаю, что если вы проверили больше тестов в нескольких браузерах и операционной системе, вы увидите, что они также могут не работать. Если вы хотите игнорировать jQuery, я бы предложил вам ввести правильную кнопку ввода/отправить внутри формы. – specialone

+0

@Philip, пожалуйста, выберите мое сообщение в качестве ответа, если оно решит вашу проблему. – specialone

0
<form id="form-any-name"> 
    <input type="button" value="Submit" class="myButton" /> 
</form> 
<button type="submit">Submit</button> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('button[type=\'submit\']').on('click', function() { 
      $("form[id*='form-']").submit(); 
     }); 
    }); 
</script> 

Просто включите документ готовы представить зрелище вы можете поместить этот код в основном файле JS, так как мы ловя dinamicaly идентификатора формы, начиная с form- так на других страницах вы можете иметь различный ФОМС :)

-2

IE понимает «для», вы можете использовать «label for = '».

+0

Вопрос относится к кнопке, а не к метке –

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