好吧,当POST变量没有定义时,我想将类似alert()(javascript)的函数调用到类构造PHP中。但如果它是可行的,我不会不这样做。
class Su{
private $nomb;
private $dir;
private $tel;
public function __CONSTRUCT($mode){
try {
if(isset($_POST['nomb'])) {
?>
<script language="javascript">alert("Sorry, this field can't be empty ")</script>
<?php
throw new Exception('?view=sucursal&mode=' . $mode . '&error=define');
}
} catch(Exception $error) {
header('location: '.$error->getMessage());
exit;
}
$this->nomb = strtoupper($_POST['nomb']);
$this->dir = strtoupper($_POST['dir']);
$this->tel = strtoupper($_POST['tel']);
}
public function __GET($var){ return $this->$var; }
public function __SET($var, $valor){ return $this->$var = $valor; }
}
答案 0 :(得分:0)
你所要求的,不是什么对你有好处。你应该对如何实现目标有不同的看法。
php在不到1毫秒的时间内执行脚本。它位于服务器上,仅在客户端发出请求时才有效。
Javascript与众不同。它适用于客户端的计算机;它经常等待事件(鼠标点击,按下按键,定时器......)。
您应该使用javascript进行事件处理。 PHP没有理由动态生成javascript代码(在您的情况下是警报)。 不,您确保警报已经在javascript代码中,在某些功能中。然后你让javascript调用该函数。
你可以做什么,是从服务器获得结果,并根据结果你让javascript决定调用那个(或另一个)javascript函数。 这就是AJAX的意思。
你知道并使用jQuery吗?
这是一个例子。假设“ajax.php”打印当天的小时。
<div id="welcome"></div>
<script>
$.ajax({
url: 'ajax.php',
success: function(output) {
var hour = Number(output);
if(hour < 11) {
good_morning();
}
if(hour >= 11 && hour < 14) {
good_day();
}
if(hour >= 14 && hour < 18) {
good_afternoon();
}
// etcetera ...
}
});
function good_morning() {
$('#welcome').html('Good morning, what a loverly day ...');
}
function good_day() {
$('#welcome').html('Good Day, ...');
}
// etcetera ...
</script>