1
我想創建一個隱藏的窗體與一些數據,需要提交到一個jsp頁面(它會在新窗口中打開),但所有這些都會以編程方式發生,而無需用戶按下提交按鈕。如何以編程方式提交SmartClient DynamicForm?
我的示例代碼
var fsquery = "abcd";
var emailId = "[email protected]";
var portalPsswd = "password";
var projectId = "123";
var kbUrl = "some url which will consume form post parameters";
var pv="1.2",pn="ADA";
this.kbform=isc.DynamicForm.create({
width: 300,
fields: [
{type: "hiddenitem", name: "EMAIL_ID", defaultValue:emailId },
{type: "hiddenitem", name: "PORTAL_PASSWORD", defaultValue:portalPsswd},
{type: "hiddenitem", name: "PROJECT_ID", defaultValue:projectId},
{type: "hiddenitem", name: "FSQUERY", defaultValue:fsquery},
{type: "hiddenitem", name: "PRODUCT_VERSION", defaultValue:pv},
{type: "hiddenitem", name: "PRODUCT_NAME", defaultValue:pn},
{type: "hiddenitem", name: "ORIGIN", defaultValue:"Administrator"},
{type: "submit", name: "submit", defaultValue: "submit"}
],
action: kbUrl,
target: "_blank",
method: "POST",
canSubmit: true
});
this.kbform.submit();
的最後一條語句不會自動提交表單,但如果我點擊提供的提交按鈕,根據需要它完美的作品。
請給我一個解決方案,它將幫助我模擬「提交」類型的按鈕功能提交表單。
您可以嘗試下「text.js」標籤此示例代碼here
感謝您的回答,即使我懷疑是相同的,在DynamicForm完全加載值之前調用'kbform.submit()',我怎樣才能使用類似'window.onload'的提交表單來提交表單? – abi1964
下面是一些等待頁面加載的代碼,然後調用計時器延遲半秒鐘,檢查表單是否有內容,然後根據結果提交或循環。這是我如何去做的一個簡單例子。 '變種fSubmit =函數(){ 如果(<內容本>){ }否則{ fResetTimer() } } 變種fResetTimer =函數(){ isc.Timer.setTimeout(」 fSubmit「,500) } window.onload = function(){fResetTimer(); };' –
Insinbad
這就是我解決問題的方法,首先我創建了沒有值的所有表單元素,並將其添加到對話框(父元素),後來我向它添加了值,所以由於創建表單項的延遲無法找到要提交的表單。謝謝 – abi1964