这将是一个愚蠢的问题,只是试图解决与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>
始终返回错误,我无法弄清楚原因。玩弄过其他东西,不能让它始终出错。
答案 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>
问候