由于加载了modernizr,因此单击时表单不会提交

时间:2012-08-23 09:37:44

标签: javascript html forms modernizr zurb-foundation

我有一个网页,可让您更改其上的用户值。出于某种原因,可能很明显,但我忽略了,我无法点击提交按钮(并让它做任何事情)。这就是我所拥有的,页面上同时有大约五个用户,但在此之前所有表单标签都已关闭。从我可以说它是所有有效的HTML,但唉,我可能是错的。

<tr>
    <form name="form2" id="form2" action="updateusers.php" method="post">
        <td><input type="hidden" name="username" value="jett"/>jett</td>
        <td><input type="text" name="fname" value="jett" /></td>
        <td><input type="text" name="lname" value="jel" /></td>
        <td><input type="text" name="reseller" value="0" /></td>
        <td><input type="text" name="resellerCut" value="0.0000" /></td>
        <td><input type="text" name="dealpercent" value="0" /></td>
        <td><input type="text" name="purchases" value="0" /></td>
        <td><input type="text" name="sales" value="0" /></td>
        <td><input type="submit" name="submit" value="submit" class="nice small radius blue button"/></td>
        <td><a href="deleteuser.php?uid=2" class="small red radius button" style="float:right; color:#fff; padding:0.3em">X</a></td>
    </form>
</tr>
编辑:我做了进一步的调试。似乎问题不在于我的标记,尽管bažmegakapa我的标记已关闭。似乎触发它的是nowizr.foundation.js的加载。这扭曲了我的考验。我不明白为什么只会在这个页面上发生这种情况,并且在整个网站中使用modernizr没有任何问题。我已经将测试页面简化为表单,表格和现代化,并且它可以阻止点击发生。这是一个jsfiddle,展示了这种令人困惑的行为http://jsfiddle.net/rg8y3/

在这个页面上没有特别使用Modernizr,因此我很容易将其删除。然而,事实上它会打破这种形式而不是其他人,没有任何警告或错误抛出是非常奇怪的。

1 个答案:

答案 0 :(得分:1)

看似破坏表单提交的modernizr脚本部分与触摸事件检测有关:这部分与当前版本完全不同。

当我从源代码尝试使用版本2.5.2的jsfiddle时,页面无法提交。

构建当前版本的modernizr(在http://modernizr.com/download/#-touch-mq-cssclasses-addtest-teststyles-prefixes-ie8compat-load处使用相同选项)并包含该脚本。

检查:http://jsfiddle.net/jussinen/rg8y3/1/:如果您可以更新modernizr脚本,则无需将其删除或对页面进行任何更改。

然而,话虽如此,如果您修复了破坏的标记,如bažmegakapa指出的那样,那么脚本可以正常使用您已经获得的Modernizr脚本:检查http://jsfiddle.net/jussinen/rg8y3/2/