使用Jquery 1.11.1我在表单提交上发送ajax请求:
<md-select required="" name="letter" ng-model="letter" class="ng-pristine md-default-theme ng-invalid ng-invalid-required ng-touched" tabindex="0" aria-disabled="false" role="combobox" aria-expanded="false" id="select_3" aria-required="true" aria-invalid="true">
<md-select-value class="md-select-value md-select-placeholder" id="select_value_label_0">
<span>/* text should goes here */</span>
<span class="md-select-icon" aria-hidden="true"></span>
</md-select-value>
</md-select>
表单是由输入文本,textarea和提交按钮组成的ContactForm。
在桌面模式(Chrome,Firefox,IE,...)中运行没有问题:触发提交事件并且ajax调用运行良好。
当我在显示键盘时提交在移动设备(Android,Ios,...)中时,表单不会被提交。 如果我隐藏键盘,然后点击提交按钮,表单将被提交,并且ajax调用正常。
问题是在移动设备中显示键盘时未触发提交事件。
答案 0 :(得分:0)
(我遇到了同样的问题,但是在不同的情况下,我对此进行了不同的描述,并发布了一个新问题:Android Chrome click after keyboard entry not working)
解决方案归结为这段JavaScript,它会在输入元素/文本区域上触发document.querySelectorAll('input, textarea').forEach((input) => {
input.addEventListener('input', (e) => {
e.target.blur();
e.target.focus();
})
})
:
PATH