0

jQuery モバイル選択メニュー、フォーム電卓はブラウザー Firefox では機能しますが、Android では機能しません。ブラウザで送信ボタンを押すと期待どおりに動作しますが、アンドロイドで行うとスピナーが読み込まれてホームページに送り返されます。

            <form id="thermalgrowth">
                <div data-role="fieldcontain">
                    <fieldset data-role="controlgroup">
                        <label for="t">
                            T:
                        </label>
                        <input id="t" placeholder=""  name="t" value="" type="number" step="0.001" min="0"/>
                    </fieldset>
                </div>
                <div data-role="fieldcontain">
                    <fieldset data-role="controlgroup">
                        <label for="l">
                            L:
                        </label>
                        <input id="l" placeholder=""  name="l" value="" type="number" step="0.001" min="0"/>
                    </fieldset>
                </div>


                <div data-role="fieldcontain">  
                    <label for="c" class="select">C:</label>                    
                        <select name="c" id="c" >
                            <option value=".000006">Carbon Steel</option>
                            <option value=".0000059">Cast Iron</option>
                            <option value=".0000095">Stainless Steel</option>
                            <option value=".0000073">Nickel Steel</option>
                            <option value=".00001">Bronze</option>
                        </select>
                </div>                  

                <div class="ui-grid-a">
                    <div class="ui-block-a"><button id="reset" type="reset" data-theme="c" name="reset">Reset</button></div>
                    <div class="ui-block-b"><button id="submit" type="submit" data-theme="b" name="submit" >Submit</button></div>
                </div>

                <div data-role="fieldcontain">
                    <fieldset data-role="controlgroup">
                        <label for="tg">
                            Thermal Growth
                        </label>
                        <input id="tg" placeholder=""  name="tg" type="number" disabled="disabled"/>
                    </fieldset>
                </div>

                <script type="text/javascript"><!--

                    function calculate () {

                        var t = $('#t').val();
                        var l = $('#l').val();
                        var c = $('#c').val();                  

                        var tg = Number(t) * l * c ;

                        $('#tg').val( tg.toFixed(3) );

                        // submit event functions must return false,
                        // to tell the browser not to load a new page.
                        return false;
                    }

                    $('#thermalgrowth').submit( calculate );
                    $('#reset').click(function() {
                        $('#t').val('0').number('refresh');
                        $('#l').val('0').number('refresh');
                        $('#tg').val('0').number('refresh');
                    });

                </script>
            </form>         
4

2 に答える 2

0

<!--スクリプト要素内のものを削除しようとしましたか? それが問題を引き起こしている可能性があります。

于 2012-09-27T23:14:29.270 に答える
0

カタラーノ、

解析エラーか実行時エラーのどちらかだと思います。閉じていない<!--ことが問題になる場合があります。コンソールが教えてくれるはずです。

他の 2 つの値ではなく、使用Number()する必要があるのは奇妙です。t自動型変換はそれを処理する必要がありますが、少なくとも完全を期すために、次を試すことができます。

var tg = Number(t) * Number(l) * Number(c) ;

$(function(){...})全体を でラップして、ドキュメントに入れてみることもできます<head>

于 2012-09-27T23:31:44.773 に答える