0

入力で同じ名前でループします ユーザーに JavaScript を無効にしてもらいたいのですが、プロセスは引き続き行われます

<?php 
$first = 1;
$id = array('id' => 'addcart');
foreach($data['info'] as $row):
    $first++;
    echo form_open('store/addcart/',$id); ?>
    <td width="11%" align="center"> 
        <span style="font-weight:bold;"><A href="<?=base_url().'store/products/'.$row['pcode'];?>" class="linkleft"><?=$row['pname'];?></a></span>
        <BR><SPAN class=pdesc><A href="<?=base_url().'store/products/'.$row['pcode'];?>"> Xem Chi tiết</a></SPAN>
        <BR>Giá: <span><?=$row['pprice'];?></span>
        <input type="hidden" name="id" value="<?=$row['pcode'];?>"/>
        <input type="hidden" name="qty" value="1"/>
        <input type="hidden" name="price" value="<?=$row['pprice'];?>"/>
        <input type="hidden" name="name" value="<?=$row['pname'];?>"/>
        <BR><INPUT type="submit" id="submit"><div id="loading"></div>
    </TD>
    <?php
    echo form_close();
    if($first == 4) {
        echo "</tr><tr>";
    }
endforeach;
?>

そして、チェックするためにjqueryに送信しましたが、未定義です

<script type="text/javascript">
$(document).ready(function() { 
    $("form#addcart").submit(function() { 
        // Get the product ID and the quantity   
        var id = $(this).find('input[name=id]').val();
        var qty = $(this).find('input[name=qty]').val();

        alert('ID:' + id + '\n\rQTY:' + qty);  

        return false;
    });  

});  
</script>

foreachで1つのアイテムを選択して送信する方法は?

4

1 に答える 1

0

formsで作成したため、複数のフォームが存在する可能性があります。for loop

したがって、使用するようclassにそれぞれに a を適用しますform

$id = array('id' => 'addcart','class'=>'addtocart');

そしてそれをjQuery使用しclass namesubmit

<script type="text/javascript">
$(document).ready(function() { 
    $(document).on('submit',"form.addtocart",function(e) {//use class name in form
        e.preventDefault(); 
        // Get the product ID and the quantity   
        var id = $(this).find('input[name=id]').val();
        var qty = $(this).find('input[name=qty]').val();
        alert('ID:' + id + '\n\rQTY:' + qty);  
        return false;
    }); 
});  
</script>
于 2013-05-23T11:28:04.710 に答える