HTML表单调用javascript函数

时间:2012-12-26 22:27:17

标签: javascript jquery html

这将是一个愚蠢的问题,只是试图解决与HTML表单交互的Javascript函数,并且无法使其工作。

非常简单,将其放在fiddle

$('#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>​​​​

始终返回错误,我无法弄清楚原因。玩弄过其他东西,不能让它始终出错。

6 个答案:

答案 0 :(得分:4)

错误可能是.value()不是函数。你想要.val()

答案 1 :(得分:1)

jQuery用于返回input元素值的函数是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>​​​​

答案 2 :(得分:1)

如果您使用正确的开发人员工具(例如Firefox中的Firebug),那么您可以轻松地在此处找出问题,就像在控制台中一样,它会显示如下:

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

这意味着没有value方法,val()是应该使用的方法。

答案 3 :(得分:0)

要使用jQuery从输入中检索值,您需要使用.val()

更改:

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

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

答案 4 :(得分:0)

我不确定这是否正确,但我认为你的javascript代码看起来像php,并且引号中的action=""字段中没有任何内容。另外,我认为该值应为val。

答案 5 :(得分:0)

正确的函数是jquery中的val()no value()。

使用方法.submit保持“return false”不运行“形式”“action”你没有考虑过。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
    $(document).on('ready', function() {
        $('#test').submit(function(){
            var battery = $('#battery').val();
            $('#output').text(battery);
            return false;
        });        
    })

</script>

如果您使用的是jQuery,则输入对象中不需要onclick =“submit()”参数

<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"/>
    </fieldset>
</form>
<div id="output"></div>​​​​

问候