0

我有一个简单的 php if 语句,它基本上检查表单提交上的错误返回。

<?php if ($this->session->flashdata('error')): ?>
    <a href="#" class="close" data-dismiss="alert">&times;</a>
    <div class="alert alert-error" id="error"><?php echo $this->session->flashdata('error'); ?></div>
<?php endif ?>

我有这个脚本,我想把它放到这个 php 中,所以当 php 为 true 时,登录框或account-container会摇晃。

$("#account-container").addClass("animated shake");

我尝试在 php 中回显脚本,但是当 if 为真时,所有给我的内容都echo ;显示在页面上。

4

2 回答 2

1

也许你可以使用这个脚本,我对 jquery 不放心,你必须调整代码:

$(function(){
    if ($("#error").length !== 0) {
         $("#account-container").addClass("animated shake");
    }
});

将其作为 javascript 源代码放置在标头中或嵌入到脚本标记中

$().load包含处理程序挂钩到页面中的 onload 事件* 该函数简单地检查页面中是否存在 id 错误的元素,如果是这种情况,则将该类添加到 #account-container 元素。

  • 我不会使用 $().ready() 因为 dom 仍然可以部分呈现

参考:

http://api.jquery.com/ready/ 说使用 .load() 函数进行 onload 事件并警告<body onload="something">标签与 jquery 事件管理不兼容

http://api.jquery.com/load/可能有用

于 2013-06-18T17:49:03.707 回答
-1

我认为您正在使用 Jquery 进行 javascript 抖动,您应该在页面准备好加载时调用 javascript 例程

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>shake demo</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
  <style>
  #toggle {
    width: 100px;
    height: 100px;
    background: #ccc;
  }
  </style>
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
</head>
<body>

<p>Click anywhere to shake the box.</p>
<div id="toggle">This is rendered by PHP</div>

<script>
$( document ).ready(function() {
  $( "#toggle" ).effect( "shake" );
});
</script>

</body>
</html>

请注意,整个页面是由 PHP 渲染的,当文档渲染准备好时,脚本将工作。

于 2013-06-18T17:40:04.397 回答