Direct.html (Case Conflict 1)
上传用户:shuoshiled
上传日期:2018-01-28
资源大小:10124k
文件大小:3k
源码类别:

中间件编程

开发平台:

JavaScript

  1. <html>
  2. <head>
  3.   <title>The source code</title>
  4.     <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
  5.     <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
  6. </head>
  7. <body  onload="prettyPrint();">
  8.     <pre class="prettyprint lang-js">Ext.onReady(function(){
  9.     Ext.Direct.addProvider(
  10.         Ext.app.REMOTING_API,
  11.         {
  12.             type:'polling',
  13.             url: 'php/poll.php'
  14.         }
  15.     );
  16.     var out = new Ext.form.DisplayField({
  17.         cls: 'x-form-text',
  18.         id: 'out'
  19.     });
  20.     var text = new Ext.form.TextField({
  21.         width: 300,
  22.         emptyText: 'Echo input'
  23.     });
  24.     var call = new Ext.Button({
  25.         text: 'Echo',
  26.         handler: function(){
  27.             TestAction.doEcho(text.getValue(), function(result, e){
  28.                 var t = e.getTransaction();
  29.                 out.append(String.format('<p><b>Successful call to {0}.{1} with response:</b><xmp>{2}</xmp></p>',
  30.                        t.action, t.method, Ext.encode(result)));
  31.                 out.el.scroll('b', 100000, true);
  32.             });
  33.         }
  34.     });
  35.     var num = new Ext.form.TextField({
  36.         width: 80,
  37.         emptyText: 'Multiply x 8',
  38.         style:  'text-align:left;'
  39.     });
  40.     var multiply = new Ext.Button({
  41.         text: 'Multiply',
  42.         handler: function(){
  43.             TestAction.multiply(num.getValue(), function(result, e){
  44.                 var t = e.getTransaction();
  45.                 if(e.status){
  46.                     out.append(String.format('<p><b>Successful call to {0}.{1} with response:</b><xmp>{2}</xmp></p>',
  47.                         t.action, t.method, Ext.encode(result)));
  48.                 }else{
  49.                     out.append(String.format('<p><b>Call to {0}.{1} failed with message:</b><xmp>{2}</xmp></p>',
  50.                         t.action, t.method, e.message));
  51.                 }
  52.                 out.el.scroll('b', 100000, true);
  53.             });
  54.         }
  55.     });
  56.     text.on('specialkey', function(t, e){
  57.         if(e.getKey() == e.ENTER){
  58.             call.handler();
  59.         }
  60.     });
  61. num.on('specialkey', function(t, e){
  62.         if(e.getKey() == e.ENTER){
  63.             multiply.handler();
  64.         }
  65.     });
  66. var p = new Ext.Panel({
  67.         title: 'Remote Call Log',
  68.         //frame:true,
  69. width: 600,
  70. height: 300,
  71. layout:'fit',
  72. items: [out],
  73.         bbar: [text, call, '-', num, multiply]
  74. }).render(Ext.getBody());
  75.     Ext.Direct.on('message', function(e){
  76.         out.append(String.format('<p><i>{0}</i></p>', e.data));
  77.                 out.el.scroll('b', 100000, true);
  78.     });
  79. });
  80. </pre>    
  81. </body>
  82. </html>