Javascript 如何通过jQuery传递php变量并使用表单返回php,而无需提交
我使用一个lightbox弹出窗口来做一些事情,特别是让人们对正在进行的工作留下反馈,批准/拒绝工作等等 现在我想重新使用这段代码来实现一些看起来简单但无法实现的功能 下面代码的第一部分触发jQuery脚本并传递变量Javascript 如何通过jQuery传递php变量并使用表单返回php,而无需提交,javascript,php,jquery,Javascript,Php,Jquery,我使用一个lightbox弹出窗口来做一些事情,特别是让人们对正在进行的工作留下反馈,批准/拒绝工作等等 现在我想重新使用这段代码来实现一些看起来简单但无法实现的功能 下面代码的第一部分触发jQuery脚本并传递变量$order\u id1,我稍后需要该变量: <button class="inner-preview" onclick="previewOrder('<?php echo $order_id1 ?>');" title="Preview the work">
$order\u id1
,我稍后需要该变量:
<button class="inner-preview" onclick="previewOrder('<?php echo $order_id1 ?>');" title="Preview the work">P</button>
因此,简而言之,我想在我的getOrder()
函数中使用最初作为$order\u id1
发送的,以及jQuery变成order\u id1
的,而不接收未定义的索引错误消息,因为它在前面的代码中已经定义好了:
<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>
身份证件:
作者:
我建议您查看
AJAX
。这将允许您在Javascript(jQuery)和PHP之间传递数据。PHP在服务器上呈现,然后发送到用户的浏览器。一旦页面呈现并在浏览器中(这是JavaScript的领域),就不能使用PHP。请参见上面关于AJAX
的评论,jQuery使AJAX变得非常简单。您需要创建一个单独的PHP页面,根据需要从AJAX接收和返回值,或者在PHP文件的开头查找特定输入,然后返回值,而不运行页面脚本的其余部分。祝你好运现在我使用了一个折叠脚本,而不是使用Toggle,所以数据库中的值content和title已经被回显了,只是被隐藏了。我真的没有关于AJAX的任何线索,我只想让这两个值在lightbox中回显,它们实际上已经在foreach
部分回显,但是隐藏了,我编辑了代码以避免分心。AJAX只是客户端向服务器发出请求的一种方式(有时会收到响应)。但就目前的代码而言,服务器编写页面,发送页面,然后去巴哈马喝朗姆酒和可乐:它完成了它的工作。它不知道它发送给了谁,它不在乎。你想让它回家做更多的工作吗?AJAX给它寄张明信片。
<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>
<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>