检测用户单击按钮的次数

时间:2010-05-28 01:32:59

标签: php jquery mysql forms click

只想知道是否有办法检测用户使用Jquery点击按钮的次数。

我的主应用程序有一个按钮,可以根据用户添加输入字段。他/她可以根据需要添加任意数量的输入字段。提交表单时,添加页面会将数据添加到我的数据库中。我目前的想法是创建一个隐藏的输入字段并将值设置为零。每次用户单击该按钮时,jquery都会更新隐藏输入字段值的属性。然后“添加页面”可以检测循环时间。请参阅下面的示例。

我只是想知道是否有更好的做法来做到这一点。谢谢你的帮助。

主页

<form method='post' action='add.php'>

//omit
    <input type="hidden" id="add" name="add" value="0"/>
    <input type="button" id="addMatch" value="Add a match"/>
//omit

</form>

jquery的

$(document).ready(function(){

    var a =0;       
    $("#addMatch").live('click', function(){
        //the input field will append //as many as the user wants.
        $('#table').append("<input name='match"+a+"Name' />");

        a++;

        $('#add').attr('value', 'a');  //pass the a value to hidden input field

        return false;
    });
});

添加页面

$a=$_POST['a']; //

for($k=0;$k<$a;$k++){
    //get all matchName input field
    $matchName=$_POST['match'.$k.'Name'];

    //insert the match
    $updateQuery=mysql_query("INSERT INTO game (team)
                                          values('$matchName')",$connection);

    if(!$updateQuery){
        DIE('mysql Error:'+mysql_error());
    }
}

2 个答案:

答案 0 :(得分:1)

我有点困惑。在此之后:

$('#add').attr('name', 'a');  //pass the a value to hidden input field

你不应该实际存储a的价值吗?

$('#add').attr('name', 'a').val(a);

答案 1 :(得分:1)

$('#add')。attr('name','a')。val(a); ????

这不正确,你应该使用:

$('#add').attr('value', a);
send the content of the "a" variable to the "value" property of element with ID "add"

我相信这就是你想要做的......