从jQuery中的表单获取输入值的问题

时间:2011-01-22 23:18:20

标签: javascript jquery forms

嘿伙计们,这是我第一次使用jQuery。我正在开发一个简单的Twitter应用程序来检查用户是否关注了另一个用户,但是我无法在我的表单中查看输入的值。

我的页面上有这个表格:

<form id="form_friendship">
  Is <input type='text' name='user_a' value='username'/> following <input type='text' name='user_b' value='username'/> on Twitter? <input type="submit" value="Check">  
</form>

使用表单插件,这是我的JS:

var value = $('#form_friendship *').fieldValue( );
$('#form_friendship *').submit(alert(value));

唯一被警告的是“用户名,用户名”,而且根本没有输入到字段中的注册文本。关于这里有什么问题的任何想法?感谢

2 个答案:

答案 0 :(得分:0)

不确定你的问题是什么,但我将它们连接起来如下,它对我有用。

 <html class="ui-widget-content" lang="en_US"><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>jQuery Form Plugin</title>
<style type="text/css">
form { background: #DFEFFC; border: 5px solid #c5dbec; margin: 10px 0; padding: 20px }
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="https://github.com/malsup/form/raw/master/jquery.form.js?v2.43"></script>
<script type="text/javascript">

$(document).ready(function(){
    var value = $('#form_friendship *').fieldValue();
    $('#form_friendship').submit(function(){
        alert(value);
        return false;
    });
});
</script>
</head>
<body>

<form id="form_friendship">
  Is <input type='text' name='user_a' value='jack'/> following <input type='text' name='user_b' value='username'/> on Twitter? <input type="submit" value="Check">  
</form>
</body></html>

认为你的表单ID后面的*正在搞乱提交。 这一行:

$('#form_friendship').submit(function()

答案 1 :(得分:0)

我认为你的javascript应该更像这样

var userA = $('input[name:user_a]').val(),
userB = $('input[name:user_b]').val( );

$('#form_friendship').submit(function(){
    alert(userA +', '+userB);
});

如果您想从表单中收集所有值而不指定实际输入,您可以尝试类似

$('#form_friendship').submit(function(){

    //creating array to put values
    var inputs = [];

    //loop to catch all inputs type=text
    $(this).find('input[type=text]').each(function(){
        //pushing values into array
        inputs.push($(this).val());
    })

    //joining alerting values in array
    alert(inputs.join(', '));



});