javascript-自动提交表单
作者:互联网
我正在为我的流星应用程序使用Autoform,我想使用javascript手动提交表单.我试过了:
$('form#myFormId').submit();
和
document.forms['myFormId'].submit();
他们都不起作用.表单尚未提交,并且没有调用任何回调函数(例如onSuccess).我想这样做是因为我想在我的android webview中注入javascript,我正在用它在我的android app中显示我的网站.
编辑:我认为正在提交窗体,但没有调用任何自动窗体功能,即.没有任何东西被插入到集合中,回调不起作用.现在,它只是使用URL中的输入内容重定向到相同的网页(因为我没有为表单指定动作,因为如果我使用autoform和meteor,就不需要一个动作).
解决方法:
在处理流星自动格式时,一件好事是在开发过程中始终启用调试模式:
if (Meteor.isClient)
AutoForm.debug()
在您应用中某个位置的一些development.js文件中.
现在,在以下情况下,发生自动表单不触发附加方法的情况:
>表单的ID在页面上不是唯一的,并且自动表单已与此其他ID挂钩,并且不会检测到您提交的表单.我有一种强烈的感觉,这里可能就是这种情况.
>您的架构中有一些非可选的内容,只要没有填写所有必填字段,就无法提交表单.
>您在events.js中的某个位置调用了一次click yourformbutton事件,以防止在提交时触发实际的自动表单事件侦听器(但情况并非如此,因为通过.submit()提交也无法工作.
了解发生了什么的另一种很好的方法是使用自动钩子,例如:onSubmit:function(insertDoc,updateDoc,currentDoc),onSuccess:function(result),onError:function(error).提交时检查数据流特别有趣.
有关这些挂钩的更多详细信息,这里:https://github.com/aldeed/meteor-autoform#callbackshooks
标签:forms,meteor,meteor-autoform,javascript,android 来源: https://codeday.me/bug/20191027/1948288.html