如何从2个相同的形式中获取var

时间:2019-06-17 14:08:47

标签: jquery html

我在同一页面上有两(2)个相同的表单,当我尝试从第二个表单获取相同的var形式时,总是从第一个表单获取var。

<form id="form-vote-note-<?php echo $value->id_note; ?>" class="form-vote-note" method="POST" action="">
<input type="hidden" name="idvote" id="idvote" value="<?php echo $value->id_note; ?>">
<input class="form-check-input" type="radio" name="voteradio" id="voteradio" value="3">
<input class="form-check-input" type="radio" name="voteradio" id="voteradio" value="2">
<button type="submit" class="btn btn-primary">Oceń</button>
</form>

$('#form-vote-note').submit(function() {

            var notevote = $('input:radio[name=voteradio]:checked').val();
            var idvote = $('input[name=idvote]').val();
            alert("notevote: " + notevote + " --- idvote: " + idvote);

            //alert("Ocena: " + notevote + "\nId vote: " + idvote);
            $.ajax ({
                url: "<?php echo base_url();?>database/save_vote_note/",
                type: "POST",
                data: {idvote: idvote, notevote: notevote, id_product: <?php echo $id_product;?>},
                dataType: 'json',
                success: function(data) {

                    alert("Id vote:" + data.value['idvote'] + "\n voteradio: " + data.value['notevote'] + "\n id_product:" + data.value['id_product'])
                },
                error: function() {

                },
            });
        });

1 个答案:

答案 0 :(得分:0)

在通过PHP循环创建HTML时,有两种生成唯一引用的方法。

  1. 使用计数器,并将计数器添加到ID:
    <?php
        $cnt = 1;
        while (condition){
           $out .= '<input id="unique_' .$cnt. '" type="text" />';
           $cnt++;
        }
  1. 使用一个类。实际上,根本不需要使用ID。另一方面,如果元素具有多个类,则从className获取唯一标识符会稍微困难一些。因此,您可以使用一个通用前缀:

然后,您可以循环遍历所有className包含前缀的输入标签。

$('input').each(function(i, v){
    if ( $(this).hasClass('[class^="unique"]') ){
        var allCls = $(this).attr('class');
        var targCls = get_targ_from_all_class(); //loop thru classes and return the one with prefix
        var uniqID = targCls.split('_')[1]
    }
});