Javascript 以DNN格式提交表格,典型答案无效
我正试图从我的DNN(DotNetNuke)网站提交一份mailchimp表单。通常,您只需删除表单标记,并在submit按钮的onclick事件中放入一些javascript。。。。这是有效的,你可以看到 但是,我正在使用这个弹出模块,因为我希望当有人来到这个网站时,这个表单会弹出。在这种配置下,它不起作用。它将表单提交到指定的URL,但没有传递任何表单数据。这一页是 以下是几点观察:Javascript 以DNN格式提交表格,典型答案无效,javascript,jquery,dotnetnuke,Javascript,Jquery,Dotnetnuke,我正试图从我的DNN(DotNetNuke)网站提交一份mailchimp表单。通常,您只需删除表单标记,并在submit按钮的onclick事件中放入一些javascript。。。。这是有效的,你可以看到 但是,我正在使用这个弹出模块,因为我希望当有人来到这个网站时,这个表单会弹出。在这种配置下,它不起作用。它将表单提交到指定的URL,但没有传递任何表单数据。这一页是 以下是几点观察: 查看页面源代码时,弹出表单位于表单标记中,而this.form在脚本中返回null 当您检查Chrome中的
function submitSubscription(clickedElement){
$form = $('body').find('form');
$form.attr('action', 'http://InciteResults.us2.list-manage1.com/subscribe/post?u=6d82b6a028c94cc75005eb4fe&id=1c7ceabac4');
$form.submit();
}
注意:在此函数中,clickedElement.form返回null。因为您的内容不在
中,所以您要将其放入
中,以便脚本正常工作。您可以动态创建
元素,也可以在提交时将内容移回主
中。试着这样做:
function submitSubscription(clickedElement){
var $form = $('<form></form>', { action: 'http://InciteResults.us2.list-manage1.com/subscribe/post?u=6d82b6a028c94cc75005eb4fe&id=1c7ceabac4' });
$('#mc_embed_signup').wrap($form);
$form.submit();
}
功能提交订阅(点击删除){
var$form=$('',{操作:'http://InciteResults.us2.list-manage1.com/subscribe/post?u=6d82b6a028c94cc75005eb4fe&;id=1c7ceabac4'});
$('mc#u embed_signup').wrap($form);
$form.submit();
}
弹出窗口很可能将元素移动到表单之外。尝试将表单标签放在弹出窗口中,以便它们随输入一起移动。谢谢@KevinB,但这也不起作用。如果我这样做,并选中clickedElement.form,它将为null。然后,当你点击按钮时,控制台也不会发生任何事情,也不会产生任何错误。我可以确认@KevinB所说的。弹出窗口正在将元素移到窗体外部。使用firefox或firebug进行检查,您将看到。您可以通过ajax发布,或者使用不将元素移动到表单外部的其他弹出窗口(如引导模式),因为元素不在表单内部呈现,所以您可以在标记中包含原始表单元素,而不使用JavaScriptfallback@bdukes是的,我也试过了…实际上我的配置,我在弹出窗口中输入HTML,现在有了标签,但是他们的代码除了将表单移到原始表单标签之外,似乎还去除了表单标签。不知道为什么。看来我得“自己滚”了。感谢所有的投入!