2013-10-18 32 views
0

我想打一個隱藏的形式,我可以使用form.submit提交。我無法使用Ext.Ajax.request,因爲我也在上傳文件。如何提交表單而不先呈現?

我有什麼:

function uploadRequest(){ 
    var hiddenTextField = new Ext.form.TextField({ 
    id: 'hiddenTextField' 
    }); 

    var gridForm = new Ext.FormPanel({ 
    id: 'hiddenForm', 
    fileUpload: true, 
    items: [hiddenTextField] 
    }); 

    hiddenTextField.setValue('Test Value'); 

    var form = Ext.getCmp('hiddenForm').getForm(); 
    form.load(); // I want this to load hiddentextfield into the form? 
    form.submit({ 
    url: '/main/grabValue', 
    waitMsg: 'Uploading...' 
    }); 
} 

這工作如果不是form.load()我在補充:

var win = new Ext.Window({ 
    height: 450, 
    width: 450, 
    closable: true, 
    items: [gridForm] 
}); 

//I need something like a form.render that doesn't actually render here. 
//hack that renders the form but also makes and shows a completely unnecessary form. 
win.show(); 

如何使用內置形式的勿使表單提交的功能?

+0

渲染它關閉屏幕。 –

回答

1

可你只是把它top:-9999px;left:-9999px;?很多網站把隱藏的表單字段在那樣的地方,以測試爲垃圾郵件機器人

+0

它的更好,然後我win.show(),但它仍然感覺就像一個黑客給我。 – Grammin

+0

出於好奇,我可以問你爲什麼需要專門提交一個表單,而不能只是模仿表單提交需要(在PHP或等即POST'ing數據)的行動? –

+0

我使用表單作爲黑客上傳文件。我無法弄清楚如何只用一個Ajax POST來完成。每這裏這個問題:http://stackoverflow.com/questions/17978784/how-can-i-serialize-file-data-so-i-can-upload-it-to-my-server – Grammin

相關問題