2012-08-14 58 views
0

我有以下代碼:創建一個JavaScript表單獲得用戶輸入

var stereo_form =new Ext.form.FormPanel({ 
      id: "stereoInfo_panel", 
      autoDestroy:true, 
      frame: true, 
      width: 410, 
      items:[{ 
      xtype: 'textfield', 
      fieldLabel: 'DEM Resolution', 
      name: 'resolution' 

     },{ 
      xtype: 'textfield', 
      fieldLabel: 'Matching Level', 
      name: 'matching' 

     },{ 
      xtype: 'textfield', 
      fieldLabel: 'Size of DEM', 
      name: 'size' 

     }], 
      buttons: [{ 
       text: 'Confirm', 
       handler: function(){//HELP ME! 
       } 
     }] 
    }); 

    var w =new Ext.Window({ 
     id: "stereoInfo_win", 
     title: "Stereo Reconstruction Parameters", 
     layout: 'form', 
     height: 160, 
     width: 350, 
     items: stereo_form 

    }); 

w.show(); 
w.focus(); 

3個問題:

  1. 我希望腳本的其餘部分暫停在顯示這種形式,直到運行按鈕。
  2. 按下按鈕時,我希望表單被銷燬。
  3. 當按鈕被按下時,我想把3個值傳遞給變量。

任何人都可以幫忙嗎?

P.S.我只想值,通過創建具有相關窗口和按鈕的形式如下分配給全局變量,而不是一個服務器端的文件...

+0

只想要分配給全局變量的值,不需要服務器端文件...... – 2012-08-14 09:53:37

+0

您說「腳本應該在顯示錶單時暫停」,這是什麼意思。您可以渲染Ext窗口模態。你可以發佈應該暫停的腳本的其餘部分嗎? – walialu 2012-08-16 18:59:51

回答

0

解決了這個問題:

var stereo_form =new Ext.form.FormPanel({ 
     id: "stereoInfo_panel", 
     autoDestroy:true, 
     labelWidth: 300, 
     frame: true, 
     width: 515, 
     items:[{ 
      xtype: 'textfield', 
      fieldLabel: 'DEM Resolution (Enter between 0.002 - 0.1 metres)', 
      name: 'resolution', 
      regex: /^0[.](1|0[1-9][0-9]*|00[2-9][0-9]*)$/, 
      regexText: 'Only values between 0.002 - 0.1 allowed', 
      value: '0.005' //sets a default value 

     },{ 
      xtype: 'textfield', 
      fieldLabel: 'Pyramid Level (Enter either 0 or 1)', 
      regex: /^[0-1]$/, 
      regexText: 'Only values of 0 or 1 allowed', 
      name: 'matching', 
      value: '0' //sets a default value 

     },{ 
      xtype: 'textfield', 
      fieldLabel: 'Size of DEM (Enter between 0 - 50.00 metres)', 
      name: 'size', 
      value: '20.00' //sets a default value 

     }], 
      buttons: [{ 
       text: 'Confirm', 
       handler: function() 
         { 
         var values = stereo_form.getForm().getValues(); 
         res = values.resolution; 
         pyramid = values.matching; 
         distance = values.size; 
         user1 = "Resolution of DEM in X and Y directions (metres) = " + res; 
         user2 = "Minimum (biggest) image pyramid level for matching (one level = img/2) = " + pyramid; 
         user3 = "Maximum distance from camera to be reconstructed - Cartesian DEM only (metres) = " + distance; 
         loadXMLDoc("/stereo_proc4.php?left="+leftrel_safe+"&right="+rightrel_safe+"&res="+res+"&pyramid="+pyramid+"&distance="+distance,state_Change); 
         w.close(); 
         } 

     }] 
    }); 

    var w =new Ext.Window({ 
     id: "stereoInfo_win", 
     title: "Stereo Reconstruction Parameters", 
     layout: 'form', 
     height: 152, 
     width: 515, 
     items: stereo_form 

    }); 

w.show(); 
w.focus(); 
相關問題