编程语言
首页 > 编程语言> > javascript-自动提交表单

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