1

我有一个网页,可让您更改其上用户的值。出于某种原因,可能很明显,但我忽略了,我无法单击提交按钮(并让它做任何事情)。这就是我所拥有的,页面上一次大约有五个用户,但在此之前所有表单标签都已关闭。据我所知,这都是有效的 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 我的标记已关闭。似乎触发它的是modernizr.foundation.js的加载。这扭曲了我的测试。但是,我不明白为什么只会在此页面上发生这种情况,并且整个站点都使用了modernizr,没有任何问题。我已将测试页面缩减为表单、表格和modernizr,它阻止了点击的发生。这是一个显示这种令人困惑的行为的 jsfiddle http://jsfiddle.net/rg8y3/

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

4

1 回答 1

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 脚本,那么您不需要删除它或对您的页面进行任何更改。

However, having said that, if you fix the broken markup as bažmegakapa pointed out, then the script works fine with the Modernizr script you've already got: check http://jsfiddle.net/jussinen/rg8y3/2/ .

于 2012-08-25T12:02:18.313 回答