1

ユーザーの値を変更できる Web ページがあります。何らかの理由で、おそらく明らかですが、私は見落としています。送信ボタンをクリックすることはできません(そして、何もしません)。これが私が持っているものです。ページには一度に約5人のユーザーがいますが、これより前にすべてのフォームタグが閉じられています. 私が言えることは、すべて有効な 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 スクリプトを更新できる場合は、それを削除したり、ページに変更を加えたりする必要はありません。

ただし、bažmegakapa が指摘したように壊れたマークアップを修正すると、スクリプトは既に取得している Modernizr スクリプトで正常に動作します: http://jsfiddle.net/jussinen/rg8y3/2/を確認してください。

于 2012-08-25T12:02:18.313 に答える