我有一个简单的单字段新闻简报注册表单,其中包含一个输入字段和一个提交按钮。我使用<a>
标记,并将onclick
属性设置为一个JavaScript函数,该函数强制执行“必填”字段的HTML5检查并提交表单。此设置适用于桌面,但对移动设备完全不起作用,我不确定为什么。HTML表单无法在移动设备上运行
这里是剥夺了HTML和JavaScript文件我使用:
newsletterForm.html
<form action="formSubmit.php" method="POST">
<label for="emailfield">Email here:</label>
<input type="text" name="email" id="emailfield" required>
<input type="submit" name="submit" id="submithandler" style="position:absolute;top:0;left:-9999px;width:1px;height:1px>
<a onclick="submitform();">Sign up</a>
</form>
handleforms.js
function submitform() {
document.getElementById('submithandler').click();
}
我用的是<a>
标签,因为我想用特殊造型与<input type='submit'>
标签无法合作,但如果在提交b时强制样式utton,那很好。
当用户单击按钮或链接时,它应该模仿<input type='submit'>
表单元素上的单击以强制对“必需”输入字段进行HTML5检查。
什么会阻止此设置在移动设备上运行,我该如何修复它?
我很乐意接受有关我的代码的评论和评论,我希望向任何愿意教导的人学习。
你能提供它的工作原理吗?不仅是答案。 Thx – Elec
如果用户触发点击事件,它肯定会起作用,但如果脚本触发点击事件,它可能无法在所有情况下工作,因为某些浏览器会想到脚本中的蠕虫和病毒,并且不会触发处理程序。而且在Jquery中也是$(elem).click();不会保证但是$(elem).trigger(“click”);将在某些情况下工作。 –
我主要关心的是$(elem).submit()不会触发HTML5自动处理必填字段。你知道这可以做到吗? – SuperContraptionGuy