单击提交按钮不会使用jquery委托

时间:2014-04-09 01:38:26

标签: javascript jquery forms firefox delegates

我正在尝试使用通过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中,其他一切正常。

1 个答案:

答案 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继续工作因为它很棒,所以我不会说。