http://blog.sina.com.cn/s/blog_44fa172f0102vsv0.html

 

【转】如何在html与delphi间交互代码

 (2015-11-19 22:16:24)

转载

标签: 

it

分类: uniGUI

uniGUI总群中台中cmj朋友为我们总结了如下内容,对于利用delphi+uniGUI开发应用,可以说是精品,必须掌握。
一句话,如何在html与delphi间交互代码,是最好的答案。

[ClientEvents操作]
Js存取Edit,Memo元件值getValue,setValue
    MainForm.Edit1.setValue(“ABCDE”); //把值設定給Edit1
    Ext.getCmp( MainForm.Edit1.id ).setValue(值); //把值設定給Edit1


     MainForm.Edit1.getValue(); //取Edit1的值
    Ext.getCmp( MainForm.Edit1.id ).getValue() );
    

Js存取Label
    MainForm.Label1.setText(值); //設定
    Ext.getCmp( MainForm.Label1.id ).setText(值);
    Ext.getCmp( MainForm.Label1.id ).getWidth(); //取寬度
    var a=document.getElementByIdx_x( MainForm.Label1.id ). innerText; //取值
    var a=Ext.getCmp( MainForm.Label1.id ).text;  //取值
 
MainForm.UniButton4.getId(); //取Unigui控件id
MainForm.UniButton4.id; //取Unigui控件id

[UniURLFrame之使用]
UniLoginForm1.UniURLFrame1.iframe.contentWindow.document.getElementByIdx_x('container').
innerHTML='';
UniLoginForm1.UniURLFrame1.iframe.contentWindow.oldPoint = null;
top.document.getElementByIdx_x(top.MainForm1.BT_del.getId()).click();
top.MainForm.UniEdit1;

你在UniURLFrame中可以直接用top.form.控件
這是extjs封裝過的

top.ajaxRequest(top.MainForm.UniURLFrame1,'TestEvent',null);
這樣的服務端的UniURLFrame1的OnAjaxEvent就會觸發

所以得一個結論
在UniURLFrame使用extjs的東西要加top.
控件如top.MainForm.UniEdit1
函數如top.ajaxRequest
多參考demo中ajax的範例

delphi中簡單使用
UniSession.AddJS(); //以執行js code


 

[unigui引用自定義js檔]
   範例: test.js存放在files\下
   內容: function aa(){
            alert(“aa”);
         }
   引用:uniServerModule的CustomFile屬性設定
        files/public.js
        or
        files\public.js

  使用1: 在delphi的程式
          UniSession.AddJS('aa();'); //定義在UniGUIApplication
  使用2: 在元件(控件)的ExtEvents.OnClick內
          alert(“aa”);
結論:
1.在delphi中如何取html的東西?
2.在js中如何取unigui的東西
3.js->delphi使用ajax
4.delphi接ajax在控件的onajaxEvent中寫程式

ueditor應該是hmtl 用ajax->delphi就是html字串

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐