如何通过jQuery传递php变量并使用表单返回php而不提交

时间:2017-04-21 13:33:16

标签: javascript php jquery

我使用灯箱弹出窗口进行多项操作,尤其是让人们对正在进行的工作留下反馈,批准/拒绝工作等等。

现在我想重新使用这段代码看起来很简单,但我无法让它工作。

下面代码的第一部分触发jQuery脚本并传递变量$order_id1,我稍后需要它:

<button class="inner-preview" onclick="previewOrder('<?php echo $order_id1 ?>');" title="Preview the work">P</button>

这是触发灯箱弹出的jQuery脚本,也是它的工作(例如灯箱弹出):

<script>
function previewOrder(order_id1)
{
    jQuery('#preview_content').val(order_id1);
    jQuery('.lightBoxWrapper3').fadeIn();
}
</script>

现在它变得棘手,因为我想使用变量$order_id1作为ID在数据库中调用一些东西,以便在数据库中找到它。

<div class="lightBoxWrapper3" style="display: none; width: 100%; position: fixed; z-index: 9999999; background-color: gray;">
    <div class="lightBoxContentArea3" style="width: 70%; margin: 0 auto;">
        <p style="font-size:24px;margin:10px 0 20px 0;color:#6D7678;">Preview the work:</p>
        <a class="closedPopup3" href="javascript:jQuery('.lightBoxWrapper3').fadeOut();">X</a>
        <form action="" method="post">
            <input type="hidden" name="order_id1" id="preview_content" value="">
            <?php 
                    $getwork=getOrder(['order_id1']);
                    echo "<h2>".$getwork['title']."</h2>";
                    echo $getwork['content'];
            ?>
        </form>
    </div>
</div>

所以简而言之,我想使用最初作为$order_id1发送的jQuery,并将jQuery转换为order_id1以便在我的getOrder()函数中使用,而不会收到未定义的索引错误消息,因为它是已经在代码中早先定义的方式:

            <div class="inner-bottom2">
                <?php foreach($orders as $approve_order) {
                    $order_id1=$approve_order['id'];
                    $status1=$approve_order['status'];
                    $approve1=$approve_order['approve'];
                    $title1=$approve_order['project_title'];
                    $writer_id1=$approve_order['writer_id'];
                    $name1=get_userdata($writer_id1);
                    if ($status1==1 && $approve1==0) { ?>
                    <ul>
                        <div class="inner-title"><?php echo wordwrap(substr($title1,0,40)); ?></div>
                        <div class="inner-id">ID: <?php echo $order_id1; ?></div>
                        <div style="clear:both;"></div>
                        <div class="inner-user2">By: <?php echo $name1->user_login; ?></div>
                        <button class="inner-reject" onclick="rejectOrder('<?php echo $order_id1 ?>');" title="Request a revision">R</a>
                        <button class="inner-approve" onclick="approveOrder('<?php echo $order_id1 ?>');" title="Approve the work">A</button>
                        <button class="inner-preview" onclick="previewOrder('<?php echo $order_id1 ?>');" title="Preview the work">P</button>
                        <div style="clear:both;"></div>
                    </ul>
                    <?php }
                } ?>
            </div>
        </div>

getOrder函数本身工作正常,如果我不能得到这个未定义的索引问题,因为它会通过jQuery传递。

简而言之,我只是想将这些值从特定的foreach行传递给这个灯箱,而实现目标的唯一方法是通过jQuery,因为我不希望页面刷新,我可以轻松回应代码的第一部分中的内容和标题,但不会使其显示在灯箱中。有些人说使用colorbox而不是因为无论什么原因它都与我的主题不兼容。当我安装colorbox插件时,所有jQuery函数都在共同工作,所以我想用这个灯箱完成它,这对我的其他目标来说非常好用,比如发送消息等。

0 个答案:

没有答案