0

私はたくさんのフォームを持っています:

<?php
    foreach ($listaMaterial as $id) {
        echo "<tr><td>" . $id[0] . "</td>
            <td>" . $id[1] . "</td>
            <td>" . $id[2] . "</td>
            <td>" . $id[3] . "</td>
            <td>" . $id[4] ." </td>
            <td><form method=post action=../popup.php class=rub id=rub>
            <input type='hidden' name='codigo' id='rub1' value=".$id[0].">
            <input type='submit' value='send' class='send'></form></td>
            </tr>
        ";
    }
?>

phpコードのような

<form method=post action=../popup.php class=rub id=rub">
<input type='hidden' name='codigo' id='rub1' value="17">
<input type='submit' value='send' class='send'></form>

<form method=post action=../popup.php class=rub id=rub>
<input type='hidden' name='codigo' id='rub1' value="18">
<input type='submit' value='send' class='send'></form>
...
...
...

この送信をクリックすると、フォーム送信データが Fancybox に転送されます。このコードを使用して

<script type="text/javascript">
 $(document).ready(function(){ 
  $(".rub").submit(function() {

   $form = $(this);

$.ajax({
url: $form.attr("action"),
type: 'POST',
data: $form.serialize(),
success: function(data, textStatus, xhr) {
$(".rub").fancybox({
    width       : '600',
    height      : '450',
    openEffect  : 'none',
    closeEffect : 'elastic',
    'content': data
});
}
});

return false;

});
});

</script>

それは機能していますが、同じウィンドウです!!!! 異なるデータである必要があります。また、fancybox ajaxの使用が非常に遅い!!w!! 上記のスレッドで提案されている方法を使用すると、コードは正確には何ですか?

4

1 に答える 1

1

successこのように引数を変更してみてください

success: function(data, textStatus, xhr) {
 $.fancybox(data,{
    width       : 600,
    height      : 450,
    openEffect  : 'none',
    closeEffect : 'elastic'
 });
}

$(".rub").fancybox()(成功した場合)fancyboxをセレクターにバインドするだけで.rub、実行されないためです。また、整数値とブール値は引用符なしで表示されます。

于 2012-09-11T04:07:06.453 に答える