4

これはばかげた質問です。HTML フォームと対話する Javascript 関数を回避する方法を理解しようとしているだけで、それを機能させることができません。

非常に単純で、フィドルに入れてください

$('#test').submit(function(){
    var battery = $('#battery').value();
    $('#output').text(battery);
});

<form id="test" action="">
    <fieldset>
        <label for="battery">Cell Count</label><br />
        <input type="number" size="3" name="battery" id="battery" /><br />
        <input type="submit" name="submit" id="submit" onclick="submit()" />
    </fieldset>
</form>

<div id="output">

</div>​​​​

常にエラーが返され、その理由がわかりません。などをいじってみましたが、常にエラーが発生して動作しません。

4

6 に答える 6

4

エラーはおそらくそれ.value()が関数ではないことです。あなたがしたい.val()

于 2012-12-26T22:29:37.527 に答える
1

input要素の値を返す jQuery の関数はval()、 ではなくvalue()です。コードは次のようになります。

$('#test').submit(function(){
    var battery = $('#battery').val();
    $('#output').text(battery);
});

<form id="test" action="">
    <fieldset>
        <label for="battery">Cell Count</label><br />
        <input type="number" size="3" name="battery" id="battery" /><br />
        <input type="submit" name="submit" id="submit" onclick="submit()" />
    </fieldset>
</form>

<div id="output">

</div>​​​​
于 2012-12-26T22:29:51.377 に答える
1

適切な開発者ツール (Firefox の Firebug など) を使用すると、コンソールに次のようなものが表示されるので、ここで問題を簡単に把握できます。

Uncaught TypeError: Object [object Object] has no method 'value'

これは、valueメソッドがなく、val()代わりに使用する必要があることを意味します。

于 2012-12-26T22:33:54.917 に答える
0

jQuery を使用して入力から値を取得するには、 .val()を使用する必要があります。

変化する:

var battery = $('#battery').value();

に:

var battery = $('#battery').val();
于 2012-12-26T22:29:44.510 に答える
0

これが正しいかどうかはわかりませんが、JavaScript コードは php のように見えaction=""、引用符内のフィールドには何もないと思います。また、その値はvalであるべきだと思います。

于 2012-12-26T22:36:20.937 に答える