Php fancybox数据-(非表单)-提交到mysql数据库
我有一个用户填写的表单,然后可以提交表单或预览数据。如果用户选择预览数据,我会将其组装成一个外观更好的页面(而不仅仅是再次显示表单)。从这里,他们可以按submit或返回表单。多亏了这个论坛上的@JFK和@Jerdigit,我有了一个非常好看的预览。现在,当我在预览iframe中按submit时,我正试图用一个名为sendMessageclass.php的文件调用一个函数。在预览窗格的末尾,我有以下两个按钮:Php fancybox数据-(非表单)-提交到mysql数据库,php,jquery,fancybox-2,Php,Jquery,Fancybox 2,我有一个用户填写的表单,然后可以提交表单或预览数据。如果用户选择预览数据,我会将其组装成一个外观更好的页面(而不仅仅是再次显示表单)。从这里,他们可以按submit或返回表单。多亏了这个论坛上的@JFK和@Jerdigit,我有了一个非常好看的预览。现在,当我在预览iframe中按submit时,我正试图用一个名为sendMessageclass.php的文件调用一个函数。在预览窗格的末尾,我有以下两个按钮: <a class="submit btn login-submit" n
<a class="submit btn login-submit" name="saveData" href="javascript:;">Submit</a>
<a class="closeFB btn login-submit" href="javascript:;">Back to Edit</a>
_u_构造函数的开头是:
if(!empty($_POST)) {
foreach ($_POST as $field => $value)
.........
它继续验证字段,然后将其提交给db。我知道这部分是有效的,因为当我提交表单时(不进行预览),数据会插入数据库。
当我按下submit时,我在Firebug中的错误是:
TypeError: e[h] is not a function
我还尝试在sendMessageclass.php中添加以下行,以确保按下的是提交按钮,而不是预览按钮:
if (isset($_POST['submit'])) {
当我在preview.php文件中按下submit按钮时,有没有办法让sendMessageclass.php被调用 我想您可以尝试以下任一选项: 1) 。替换html的
name
属性
<a class="submit btn login-submit" name="saveData" href="javascript:;">
。。。不能使用选择器#saveData
引用具有名称
属性的元素
选中此,您将看到单击带有name=“nameData”
的链接不会返回任何内容
2) 。替换当前的脚本选择器和格式
$('#saveData').live("click", function(){ ... })
。。。到
$("body").on("click", "a[name=saveData]", function(){ ... })
。。。无需更改html并保留name
属性
注意不推荐使用.live()
,因此我们以委托形式使用.on()
(但需要jQuery 1.7+)
还请注意,您可以通过父容器的选择器更改
body
元素a[name=saveData]
我尝试了这两个选项,但都不起作用。我仍然得到错误:code
TypeError:e[h]不是一个函数code
它在我将其记录到控制台时正在注册“click”。进一步检查后,我发现我需要在fancybox中再次加载jquery。但是,我仍然无法获得提交给db的数据;我按submit,返回到父页面,但没有数据发送到db。预览效果很好,数据也显示出来了。我在预览文件中没有任何内容,除了抓取POST数据并回显它以显示数据。这是表单的相关部分。php:$('.preview')。在(“单击”,函数(e){…….afterShow:function(){$(“.submit.closeFB”)。在(“单击”,函数(event){if($(event.target).is(“.submit”){.alert(“submit”)//工作时,我得到了警报$(“#消息(表单”).submit();//提交实际表单}$.fancybox.close();//close fancybox});//单击
…关闭所有参数
$('#saveData').live("click", function(){ ... })
$("body").on("click", "a[name=saveData]", function(){ ... })