[fastadmin]第十三篇 在FastAdmin中通过Ajax实现表单验证和中文转拼音功能
[fastadmin]第十三篇 在FastAdmin中通过Ajax实现表单验证和中文转拼音功能
需求
本篇文章讨论的需求是如何在FastAdmin中,通过使用Ajax来实现表单验证和中文字符转拼音码的功能。
实现策略
我们可以通过写一个API实现中文字符转拼音码的功能。首先,我们需要新建一个控制器,然后在其中编写以下代码。你可以在任何你喜欢的文件中创建这个控制器,注意的是路由必须能够访问该控制器。
<?php
namespace app\admin\controller\pz;
use app\common\controller\Backend;
/**
* pz 公共api
*
* @icon fa fa-circle-o
*/
class Pztool extends Backend
{
/**
* Ypdlpz模型对象
* @var \app\admin\model\pz\Pztool
*/
//protected $model = null;
public function _initialize()
{
parent::_initialize();
//$this->model = new \app\admin\model\pz\Ypdlpz;
}
public function chineseToPinYin()
{
$chinese = $this->request->param(<chinese<);
$pinyin = new \Overtrue\Pinyin\Pinyin();
$pinyin = $pinyin->permalink($chinese, <<);
$result = array("data" => $pinyin, "code" => "200", "msg" => "success");
return json($result);
//return $result;
}
}
接着,我们需要在Javascript代码中调用这个API,并完成对input元素的赋值。这部分的代码可以在你需要的任何Javascript文件中完成。
例如,这里 第十二篇 写的 setinterval 中中增加了一个判断。
// 商品名 拼音码
if (spm !== <<) {
fieldsArr[<row[spmpym]<] = "required;zimu";
// 发ajax 请求,直接赋值拼音码
if (spmpym == <<) {
$.ajax({
url: <pz/pztool/chineseToPinYin<,
type: <POST<,
dataType: <json<,
data: {chinese: spm},
success: function (data) {
if (data.code == "200") {
$(<#c-spmpym<).val(data.data);
} else {
$(<#c-spmpym<).val(<<);
}
}
})
}
}else{
ignoreArr.push(<#c-spmpym<);
$(<#c-spmpym<).val(<<);
}
// 拼音码 非必填
结果展示
这就是我们通过Ajax在FastAdmin中实现表单验证和中文字符转拼音码功能的示例。
本作品采用《CC 协议》,转载必须注明作者和本文链接