关于2. 将表单资料返回到模板

#1 eoneliu

老大上次请教返回模板的问题。
2. 将表单资料返回到模板 $this->info_array = $this->spArgs();
html 页

 
























用户名
密码
确认密码
用户邮箱



control 文件

$this->info_array = $this->spArgs();

输入的信息在页面中不显示。

还有个问题是验证会员是否存在那块。怎么用ajax实现呢?请老大提供点思路,我试了不成功。可能是哪里写错了。

常规的实现是 在文本框中 设置 失去焦点。调用js。将文本的内容提交到ajax页面。获取返回值。

js:
调用 index.php?c=User&m=ajaxCheckUser
如:
class User extends spController{ 
function ajaxCheckUser(){
$User = spClass('UserMdl');
$verifier=$User->spVerifier($this -> spArgs());
if(false==$verifier){
echo 'error';
}else{
echo 'success'
}
}
}

class UserMdl extends spModel{
var $pk = "id"; // 数据表的主键
var $table = "user"; // 数据表的名称
//添加用户验证规则
var $addrules = array(
'is_exists' => array('UserMdl','exists'),
);
var $verifier=array(
"rules" => array(
'username' => array(
'is_exists' => FALSE,
),
);
/**
* 验证用户是否已经存在
*/
function exists($val, $right){
$conditions = array(
'username' => $val,
);
//为 true 是。即通过验证
if ($this -> findCount($conditions)){
return FALSE;
}else{
return TRUE;
}
}
}

2010-05-12 17:52:38

#2 jake

1. 试试:

2. ajax的话,其实也是相同道理,在输入框失去焦点的时候,将内容通过ajax来post到验证的程序上面,然后验证的程序返回json,包含一个验证结果的数组,这样就可以通过本地的js脚本来显示了。

2010-05-12 20:52:47

#3 eoneliu

谢谢老大啦。。。之前 smarty 都是

assign ($_POST) 。。

以及页面foreach  的 。assign ('list', $list);

没想换个思路 。感谢老大提醒!!

2010-05-13 09:12:45

#4 php

SMARTY对于POST和GET的变量,不需要另外赋值到模板,在模板可以这样写。

更多用法看这: http://yanglu.org/smarty_get_post_request_cookie_ssession_server/

2010-05-13 10:08:26