目的是显示一个表单,该表单将使用结果
更新页面上的div答案 0 :(得分:1)
我不确定,但可能是你使用错误ID的初始形式?
$('#formDiv').fadeIn('slow').ajaxForm(options)
当表单ID为feditform
时。在位于http://plungjan.name/eetest/facy.html $('#feditform').ajaxForm(options);
答案 1 :(得分:1)
当您提交表单时,请求将发送到服务器,您将获得HTTP错误:405 Method Not Allowed
。
它看起来像是来自服务器的配置。 http://www.checkupdown.com/status/E405.html
编辑:由于您的代码适用于 facy.html 页面中的示例,我认为它并非真正来自服务器。两个示例之间的区别在于表单的 action 。
您是否尝试调用谢谢页面“thanks.php”并相应地修改表单的操作。我想您的服务器可能不允许HTML页面上的POST请求。
答案 2 :(得分:0)
在不起作用的示例中,如果在显示表单时绑定ajaxForm,它应该可以正常工作。
// you may want to use better/faster selector then 'a' but in this example it
// will work
$('a').click(function () {
$('#feditform').fadeIn('slow').ajaxForm(options);
return false;
});
添加上述代替jQuery.facybox({ div: '#formDiv' }); return false
,它应该按预期工作。
答案 3 :(得分:0)
据我所知,你现在有:
<div id="formDiv" style="display:none">
some other code here </div>
但您仍然可以致电$('#feditform').fadeIn('slow').ajaxForm(options);
据我所知,jQuery这个永远不会出现,因为周围的div是display:none
。我建议做三件事:
hide()
和show()
简化代码,这样可以避免某些动画出现问题。如果这样可行,您可以继续并再次介绍动画版本。(document).ready
函数的内容,即可依赖这些功能。我们在“混合”方法(硬编码和通过jQuery)方面遇到了不好的经历,特别是关于节目和隐藏情况。$
造成麻烦。我们倾向于在这些情况下使用关键字jQuery
,因为这将始终保持范围。希望这有帮助。
答案 4 :(得分:0)
我认为您的问题与jQuery / Javascript无关。
提交表单后(通过PHP推测?),您需要回显一条消息,该消息将作为成功回调的一部分传递。即。
echo '<strong>' . $_POST['message'] . '</strong>';
小心发布服务器端代码?
答案 5 :(得分:0)
我们在您发布的链接中显示了数据。
如果您认为它与插件冲突有关,请尝试jquery.noConflict() http://api.jquery.com/jQuery.noConflict/
虽然不是最优雅的解决方案。它可以轻松修复您对插件的任何冲突。