[英]executing jquery code from php
$("#bt-potrdi").click( function(e) {
e.stopPropagation();
$("#belina").css({"z-index":200}); $("body").addClass("ext");
$("#vpisok_frame").css({"z-index":250}).fadeIn(200);
});
当我单击按钮时,此jQuery代码已执行且工作正常。 我可以在没有点击事件的情况下执行此代码吗?
当某些数据成功执行时,我想从php执行此代码,例如
if ($ok) {
?>
//execude ajax code
e.stopPropagation();
$("#belina").css({"z-index":200}); $("body").addClass("ext");
$("#vpisok_frame").css({"z-index":250}).fadeIn(200);
<?php
}
这可能吗? PHP是服务器端代码,因此如果可能,我没有找到任何好的示例
与其他建议类似,但这不依赖于拥有两个相同代码的副本...
if ($ok) {
?>
<script type="text/javascript">
$(function() {
$("#bt-potrdi").trigger("click");
});
</script>
<?php
如果您更改了click事件处理程序,则该操作仍然有效。 这意味着您以后无需在2个地方进行任何更改。
如果我理解这个问题,如果$ok
为true,则希望在页面加载时执行一些javascript。 为此,您应该可以执行以下操作:
if ($ok) {
?>
<script type="text/javascript">
//execute ajax code
$("#belina").css({"z-index":200}); $("body").addClass("ext");
$("#vpisok_frame").css({"z-index":250}).fadeIn(200);
</script>
<?php
}
编辑:另外, e.stopPropagation();
因为e
在任何地方都没有定义,所以无法使用。
我将设计代码,以便在呈现html时可以添加类并直接设置z-indexes,但是如果要使用jquery进行处理,则jsut将它们包装在<script>
和$(document).ready(function({});
因此将在dom准备就绪时执行它们。
例如。
if ($ok) {
?>
//execude ajax code
<script>
$(document).ready(function{
$("#belina").css({"z-index":200}); $("body").addClass("ext");
$("#vpisok_frame").css({"z-index":250}).fadeIn(200);
});
</Script>
<?php
}
编辑好吧,我假设e.stopPropagation();
设置在之前的某个位置,因为它也在示例中。 现在将其删除。
发生的情况是在执行PHP脚本时,如果$ ok计算为true,则您的jquery代码将包含在生成的文档中,如果没有,则将其省略。 但是,目前尚无任何事件,因此以下行将不起作用。
e.stopPropagation();
但是,正如jdwire所建议的那样,您可以将javascript包装在script标签中,并以这种方式执行它,而不会被事件触发。 所以...像这样:
<?php
if ($ok) {
?>
<script type="text/javascript">
$("#belina").css({"z-index":200}); $("body").addClass("ext");
$("#vpisok_frame").css({"z-index":250}).fadeIn(200);
</script>
<?php
}
?>
您可以echo
了在代码<script/>
标签,它会运行如JavaScript,或者用你的代码,只需将它标记之间,它应该罚款:)
但是您不能“现场”进行此操作。 仅在一次请求页面时。
您也可以通过这种方式将PHP变量传递给javaScript。 我认为这要干净得多。
$check = 1;
?>
...
<script type="text/javascript">
var check = <?= $check; ?>;
...
if (check)
{
$("#bt-potrdi").trigger("click");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.