2013-05-12 74 views
1

prettyphoto在模态框中显示我的表单。我在表格中插入了一个链接并设置了onclick="$('#formid').submit()"。当我点击它,页面导航形式的行动,但没有任何发布的数据。当我用输入<input type="submit" value="ok">替换链接时,它会正确发送表单数据。 我测试jquery元素访问调用一个函数。结果,表明jQuery不能访问元素的值。 我把一些HTML的形式由jquery,但注意到happend后,重新加载模式框它显示。 是否有任何解决方案来访问prettyQuery加载HTML表单由jQuery和JavaScript?jquery和javascript在prettyphoto加载的html表单中不起作用

回答

0

jQuery中submit()工作<form>元素,让最好的办法做到这一点放于形式的提交按钮,但做这样一种方式,它是从视图喜欢隐藏:

<input id='dummy' type="submit" style="position: absolute; left: -9999px; width: 1px; height: 1px;"/> 

而且在您的jQuery当锚链接被点击,你点击它像下面这样一个模拟提交按钮的提交:

$('a').click(function(){ 
    $('#dummy').trigger('click'); 
    }); 

这是我fiddle为您检查。请注意,尽管我使用真实的网站来模拟它,但它不会收到发布的数据。

+0

当我使用prettyphoto jquery操作时,不要在模态框上执行操作。 – 2013-05-13 04:57:19

+0

@sajadnabavi你可以在原始文章(OP)中发布一些代码吗?这样我可以检查。 – Edper 2013-05-13 05:15:55

+0

问题不在于jQuery,因为jQuery可以完成这项工作 - 问题在于您正在寻找的元素是在PrettyPhoto弹出窗口中重新创建的。如果你的元素不包含一个ID(唯一元素),那么你可以在1.9之前使用'live()'监视器,对于1.10+使用.on() - 如果要使用元素ID,那么你需要修改prettyPhoto,它会在将元素添加到模式窗口时删除元素,然后在关闭元素后将其放回。 – TeckniX 2014-01-10 21:03:37