【发布时间】:2012-09-09 05:26:49
【问题描述】:
想知道如何在 js 脚本中再添加三个 !== 或语句。 jsfriend00 提供了以下脚本作为一个壮观的答案,但问题是我犯了一个错误,没有提到还有三个文本区域下落不明。我在剩余的或 !== 条件下坚持使用 javascript。在以下脚本中,如何对以下每个 var obj 说 !==?
//查看管理员和客户之间私人网络流的文件:
<?php if(!defined('BASEPATH')) exit('No direct script access allowed'); ?>
<html>
<title>Chat</title>
<head>
<?php echo smiley_js(); ?>
</head>
<body>
<?php echo form_open('controller/function');?>
Reload chat<?php echo form_submit('reload','reload chat');?>
<?php echo form_close();?>
<?php if(isset($user_query)): foreach($user_query->result() as $row):?>
<p>Created at: <?php echo $row->created_at; ?> </p>
<p>Updated at: <?php echo $row->updated_at; ?> </p>
<p><label for="update"> <?php echo $username_sess.' said'?>:<span class="optional"></span></label>
<textarea name="update" id="update" rows="7" cols="30"><?php echo $row->clt_rep_stream ?></textarea>
<?php echo form_open('controller/function');?>
<?php echo form_hidden('user_id',$row->user_id) ?>
<p><label for="adm_update">reply to client:<span class="optional"></span></label>
<textarea name="adm_update" id="adm_update" rows="7" cols="30"> </textarea>
<?php echo form_error('adm_update'); ?>
</p>
<?php echo form_submit('submit','reply');?>
<?php echo form_close();?>
<?php echo form_open('controller/function'); ?>
<?php echo form_hidden('user_id',$row->user_id) ?>
<p>Replied at: <?php echo $row->adm_created_at; ?> </p>
<p>Updated at: <?php echo $row->adm_updated_at; ?> </p>
<p><label for="reupdate"> <?php echo $username_adm_sess.' replied:'?><span class="optional"></span></label>
<textarea name="reupdate" id="reupdate" rows="7" cols="30"><?php echo $row->adm_rep_stream ?> </textarea>
<p>
<?php echo form_submit( 'submit', 'update reply'); ?>
</p>
<?php echo form_close(); ?>
<?php endforeach; ?>
<?php endif; ?>
<script>
function autoRefresh(refreshPeriod) {
var obj = document.getElementById("create");
var obj_two = document.getElementById("update");
var obj_three = document.getElementById("delete");
var obj_four = document.getElementById("reload");
function refreshIfSafe() {
if (document.activeElement !== obj) {
window.location.reload();
} else {
setTimeout(refreshIfSafe, refreshPeriod);
}
}
setTimeout(refreshIfSafe, refreshPeriod);
}
autoRefresh(2 * 1000);
</script>
</body>
</html>
我尝试了以下方法,但没有成功:
if(document.activeElement !==(obj || obj_two))
我在 Brad 的帖子之后尝试了以下操作,但该帖子部分有效,但任何更新或回复在前两个之后并且以下 js 被渲染为无效,这真的很令人困惑:
if(document.activeElement !== obj && document.activeElement !== obj_two)
【问题讨论】:
-
obj || obj_two如果是真值,则计算为obj,否则计算为obj_two,因此条件x !== (obj||obj_two)可以被认为是x !== obj_OR_obj_two_but_you_dont_know_which。
标签: javascript logic conditional-statements