我正在尝试使用通过javascript(从ajax调用的结果)加载的网站中的表单,提交按钮调用发送ajax调用的委托函数。
这在Chrome和IE浏览器中效果很好,但是在Firefox中点击按钮什么都不做,没有任何javascript错误或其他任何错误。
2014年4月14日编辑:在代码无变化之后,这也刚刚开始在chrome中发生
表单已构建:
tr += "<form method='POST' data-opid='"+resultArr[i].columns.number+"'
class='update_form' action='' name='form"+resultArr[i].columns.number+"'>";
tr += "<td><input type='submit' class='update' value='update'></td></form>";
委托函数开始:
jQuery(document).delegate(".update_form", "submit", function(e){
alert("in the delegate");
但警告永远不会在firefox中触发。
我有<a class='displayopp' href='../partner_detail/view/" + resultArr[i].columns.internalid.internalid + "'>
完全使用jQuery(document).delegate(".displayopp", "click", function(e){
。
我一直在寻找代表是否有任何firefox问题,但一直无法找到任何东西。我注意到另一个表单加载javascript按“输入”提交不会工作,但除此之外我不知道在哪里看。 任何指针都将非常感激。
我试图将我的代码最小化到相关信息,因为文件长达500行(由于各种原因我不满意),所以如果我没有提供足够的信息,请告诉我。
如前所述,问题仅出现在Firefox中,其他一切正常。
答案 0 :(得分:1)
我发现了错误,而且代码中我没有给你抱歉。 宣布表格:
<table>
<tr>
<form>
<td>form input</td>
<td>form input</td>
<td>form submit</td>
</form>
</tr>
</table>
我将其更改为:
<form>
<table>
<tr>
<td>form input</td>
<td>form input</td>
<td>form submit</td>
</tr>
</table>
</form>
一切正常!
一旦我知道问题是什么,我发现page表示
表和表单可以嵌套。但是如果将表单放入表中,则每个表单必须完全包含在单个表格单元格中(实际中是一个TD元素)。因此,表格各自完全独立。
所以这是一个订单问题,IE和Chrome最初工作是因为它们很棒,我不想说IE继续工作因为它很棒,所以我不会说。