october cms数据API

数据属性API

october实现了不通过ajax的方式,实现表单的ajax提交的方式

<script src="{{ 'assets/javascript/jquery.js'|theme }}"></script>
{% framework %}
<div class="container">

    <div class="panel panel-default">
        <div class="panel-heading">
            <h3 class="panel-title">Calculator</h3>
        </div>
        <div class="panel-body">
            <form class="form-inline" data-request="onHandlerRequest" data-request-update="'game/game1': '#result'">
                <input type="text" class="form-control" value="15" name="value1" style="width:100px">
                <select class="form-control" name="operation" style="width: 70px">
                    <option>+</option>
                    <option>-</option>
                    <option>*</option>
                    <option>/</option>
                </select>
                <input type="text" class="form-control" value="5" name="value2" style="width:100px">
                <button type="submit" class="btn btn btn-primary">Calculate</button>
            </form>
        </div>
        <div class="panel-footer" id="result">
            {% partial "game/game1" %}
        </div>
    </div>

</div>

代码区域

function onHandlerRequest()
{
    $value1 = input('value1');
    $value2 = input('value2');
    $operation = input('operation');

    switch ($operation) {
        case '+' :
            $this['result'] = $value1 + $value2;
            break;
        case '-' :
            $this['result'] = $value1 - $value2;
            break;
        case '*' :
            $this['result'] = $value1 * $value2;
            break;
        default :
            $this['result'] = $value1 / $value2;
            break;
    }
}
  1. onHandlerRequest提交表单时触发处理程序。
"'game/game1': '#result'"

使用部件 game/game1 更新带#result的容器元素

  <form class="form-inline" data-request="onHandlerRequest" data-request-update="'game/game1': '#result'">
  1. 在发送请求之前单击删除按钮时请求确认:
 <button data-request="onDelete" data-request-confirm="Are you sure?">Delete</button>
  1. 成功请求后重定向到另一页:
<form data-request="onLogin" data-request-redirect="/admin">
  1. 请求成功后显示一个弹出窗口:
<form data-request="onLogin" data-request-success="alert('Yay!')">
  1. 发送相应的请求参数
<form data-request="onUpdate" data-request-data="mode: 'update'">
  1. 发送一个请求参数为id,参数值为7的数据
<div data-request-data="id: 7">
    <button data-request="onDelete">Delete</button>
    <button data-request="onSave">Update</button>
</div>
<script>
$('button').on('ajaxSuccess',function(event,context,response){
    console.log(context);
    console.log(response);
});
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,951评论 25 709
  • 第1章 jQuery实现Ajax应用 1-1 使用load()方法异步请求数据 使用load()方法通过Ajax请...
    mo默22阅读 5,679评论 1 9
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 5,199评论 0 2
  • “杀人了……”我边走边自言自语着,脚步沉重而拖沓,鲜血沿着刀刃聚集到刀尖滴落,此刻自己的脑子里一片空白。 两小时前...
    阳米bb阅读 1,865评论 0 1
  • 主人公默尔索是一个非常real的个体,他热爱生活,内敛,自我意识极其强烈,对社会来讲是一个无害的小伙子,但他...
    李大熊猫阅读 2,642评论 2 4